Zoeken…


Syntaxis

parameters

Parameter Beschrijving
Klant identificatie Van Google Developer console identificeert uw project of applicatie
geheim Van Google Developer console identificeert uw project of applicatie
redirect_uri Van Google Developer- locatie waar de authenticatie moet worden geretourneerd. In het geval van native toepassingen urn:ietf:wg:oauth:2.0:oob kan worden gebruikt om localhost aan te duiden

Opmerkingen

Om toegang te krijgen tot een Google API moet u zich als ontwikkelaar identificeren en uw project identificeren. We doen dat door een nieuw project te maken op de Google Developers-console .

Wanneer u uw project maakt en u toegang wilt krijgen tot de Google Analytics API's, moet u de API's inschakelen waartoe u toegang wilt krijgen.

  • Reporting API : toegang tot de Google Analytics Reporting API v4.
  • Analytics API : toegang tot al het andere.

Nu moet u beslissen hoe u toegang wilt tot de gegevens.

Met Google Data zijn er twee soorten Public en Private Data.

  • openbare gegevens zijn geen eigendom van een gebruiker. De metadata-API is een openbare API waarvoor u niet hoeft te zijn aangemeld om toegang te krijgen tot die gegevens.
  • De rapportage-API bevat Google Analytics-gegevens van gebruikers. U kunt er alleen naar kijken als de gebruiker u toestemming heeft gegeven om er toegang toe te krijgen.

Als u alleen toegang hebt tot openbare gegevens, hoeft u alleen maar een openbare API-sleutel te maken en hebt u toegang tot de betreffende API. Als u toegang wilt krijgen tot privégebruikersgegevens, moet u ofwel Oauth2-referenties of serviceaccountreferenties maken.

Autorisatie Oauth2

Om toegang te krijgen tot privé-gebruikersgegevens moeten we toestemming hebben van de eigenaar van de gegevens om er toegang toe te krijgen. Met Oauth2 kunnen we die gebruiker om toegang vragen.

Je hebt waarschijnlijk eerder Oauth2 eerder gezien.

voer hier de afbeeldingsbeschrijving in

De applicatie "Google Analytics Windows" vraagt toegang om de gebruikers "Google Analytics Data" te bekijken

  1. Google Analytics-vensters is de naam van het project dat is gemaakt op de Google Developer-console.
  2. Google Analytics-gegevens is het bereik van de machtigingen waar we om hebben gevraagd.

Scope We moeten de gebruiker vertellen wat we van plan zijn. De Google Analytics API heeft twee scopes die u kunt gebruiken.

  1. https://www.googleapis.com/auth/analytics.readonly
  2. https://www.googleapis.com/auth/analytics

Het is het beste om alleen de scopes op te vragen die u nodig hebt. Als u alleen gebruikersgegevens wilt lezen, hoeft u alleen de alleen-lezen scope aan te vragen.

Autorisatieserviceaccounts

Serviceaccounts zijn anders omdat ze vooraf zijn goedgekeurd. Als u serviceaccountreferenties aanmaakt, kunt u als ontwikkelaar het e-mailadres van het serviceaccount nemen en het als een gebruiker toevoegen aan uw Google Analytics-account. Op accountniveau geeft dit het serviceaccount toegang tot de gegevens. U hoeft het verificatievenster niet te openen en toegang te vragen. Het serviceaccount heeft toegang tot de gegevens zolang het een gebruiker is van het Google Analytics-account.

Conclusie

Verificatie is nodig om toegang te krijgen tot de meeste gegevens die worden weergegeven door de Google Analytics API.

U kunt vanaf mei 2015 geen clientaanmelding / -login en -wachtwoord gebruiken om toegang te krijgen tot een Google API. U moet Open authentication gebruiken.

**

Oauth2 C #

Voorbeeld gebruikt de Google API's Dotnet-clientbibliotheek .

PM> Installatiepakket Google.Apis.AnalyticsReporting.v4

    /// <summary>
    /// This method requests Authentcation from a user using Oauth2.  
    /// Credentials are stored in System.Environment.SpecialFolder.Personal
    /// Documentation https://developers.google.com/accounts/docs/OAuth2
    /// </summary>
    /// <param name="clientSecretJson">Path to the client secret json file from Google Developers console.</param>
    /// <param name="userName">Identifying string for the user who is being authentcated.</param>
    /// <returns>DriveService used to make requests against the Drive API</returns>
    public static AnalyticsReportingService AuthenticateOauth(string clientSecretJson, string userName)
    {
        try
        {
            if (string.IsNullOrEmpty(userName))
                throw new Exception("userName is required.");
            if (string.IsNullOrEmpty(clientSecretJson))
                throw new Exception("clientSecretJson is required.");
            if (!File.Exists(clientSecretJson))
                throw new Exception("clientSecretJson file does not exist.");
            
            // These are the scopes of permissions you need.
            string[] scopes = new string[] { AnalyticsReportingService.Scope.AnalyticsReadonly };   // View your Google Analytics Data

            UserCredential credential;
            using (var stream = new FileStream(clientSecretJson, FileMode.Open, FileAccess.Read))
            {
                string credPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
                credPath = Path.Combine(credPath, ".credentials/", System.Reflection.Assembly.GetExecutingAssembly().GetName().Name);

                // Requesting Authentication or loading previously stored authentication for userName
                credential = GoogleWebAuthorizationBroker.AuthorizeAsync(GoogleClientSecrets.Load(stream).Secrets,
                                                                         scopes,
                                                                         userName,
                                                                         CancellationToken.None,
                                                                         new FileDataStore(credPath, true)).Result;
            }

            // Create Drive API service.
            return new AnalyticsReportingService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName = string.Format("{0} Authentication", System.Reflection.Assembly.GetExecutingAssembly().GetName().Name),
            });
        }
        catch (Exception ex)
        {
            Console.WriteLine("Create Oauth2 DriveService failed" + ex.Message);
            throw new Exception("CreateOauth2DriveFailed", ex);
        }
    }

Serviceaccount Authenticatie Vb.net

Voorbeeld gebruikt het installatiepakket Google.Apis.AnalyticsReporting.v4

 Public Shared Function getServiceInitializer() As BaseClientService
    Dim serviceAccountCredentialFilePath = "Path to Json service account key file"                    REM from Google Developers console
    Dim myKeyEMail = "[email protected]"   REM from Google Developers console
    Dim scope = Google.Apis.AnalyticsReporting.v4.AnalyticsReportingService.Scope.AnalyticsReadonly


    Try

        Dim credential
        Using stream As New FileStream(serviceAccountCredentialFilePath, FileMode.Open, FileAccess.Read)

            credential = GoogleCredential.FromStream(stream).CreateScoped(scope)

        End Using

        Dim Initializer As New BaseClientService.Initializer()
        Initializer.HttpClientInitializer = credential
        Initializer.ApplicationName = "SRJCGMail"

        Dim service As New AnalyticsReportingService(Initializer)
        Return service

    Catch ex As Exception
        Console.WriteLine(ex.Message)
        Return Nothing
    End Try

End Function


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow