Szukaj…


Składnia

Parametry

Parametr Opis
Identyfikator klienta Z konsoli programisty Google identyfikuje Twój projekt lub aplikację
sekret Z konsoli programisty Google identyfikuje Twój projekt lub aplikację
redirect_uri Z lokalizacji Google Developer, do której należy zwrócić uwierzytelnienie. W przypadku aplikacji natywnych urn:ietf:wg:oauth:2.0:oob może być używany do oznaczenia localhost

Uwagi

Aby uzyskać dostęp do dowolnego interfejsu API Google, musisz zidentyfikować się jako programista i zidentyfikować swój projekt. Robimy to, tworząc nowy projekt w konsoli Google Developers .

Podczas tworzenia projektu, jeśli chcesz uzyskać dostęp do interfejsów API Google Analytics, musisz włączyć interfejsy API, do których zamierzasz uzyskać dostęp.

  • Raportowanie API : dostęp do Google Analytics Reporting API v4.
  • Analytics API : dostęp do wszystkiego innego.

Teraz musisz zdecydować, w jaki sposób chcesz uzyskać dostęp do danych.

W Google Data istnieją dwa rodzaje danych: publiczny i prywatny.

  • dane publiczne nie są własnością użytkownika. Metadane API to publiczny interfejs API, do którego dostępu nie trzeba się logować.
  • Interfejs API do raportowania zawiera dane Google Analytics użytkowników, które są prywatne, nie można na nie patrzeć, chyba że użytkownik wyraził na to zgodę.

Jeśli uzyskujesz dostęp tylko do danych publicznych, wszystko, co musisz zrobić, to utworzyć publiczny klucz API i będziesz mieć dostęp do danego interfejsu API. Jeśli zamierzasz uzyskać dostęp do prywatnych danych użytkownika, musisz utworzyć poświadczenia Oauth2 lub poświadczenia konta usługi.

Autoryzacja Oauth2

Aby uzyskać dostęp do prywatnych danych użytkownika, musimy mieć zgodę właściciela danych na dostęp do nich. Oauth2 pozwala nam prosić o dostęp od użytkownika.

Prawdopodobnie widziałeś już wcześniej Oauth2.

wprowadź opis zdjęcia tutaj

Aplikacja „Google Analytics Windows” prosi o dostęp do przeglądania użytkowników „Dane Google Analytics”

  1. Okna Google Analytics to nazwa projektu utworzonego w konsoli programisty Google.
  2. Dane Google Analytics to zakres uprawnień, o które poprosiliśmy.

Zakres Musimy powiedzieć użytkownikowi, co zamierzamy zrobić. Interfejs API Google Analytics ma dwa zakresy, których możesz użyć.

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

Najlepiej jest poprosić tylko o potrzebne zakresy. Jeśli będziesz czytał tylko dane użytkowników, musisz jedynie poprosić o zakres tylko do odczytu.

Konta usługi autoryzacji

Konta usług różnią się tym, że są wstępnie zatwierdzone. Jeśli utworzysz poświadczenia konta usługi, jako programista możesz pobrać adres e-mail konta usługi i dodać go jako użytkownika na koncie Google Analytics Na poziomie konta zapewni to dostęp do danych konta usługi. Nie musisz otwierać okna uwierzytelniania i żądać dostępu. Konto usługi będzie miało dostęp do danych tak długo, jak długo będzie użytkownikiem konta Google Analytics.

Wniosek

Uwierzytelnienie jest potrzebne, aby uzyskać dostęp do większości danych ujawnionych przez interfejs API Google Analytics.

Od maja 2015 r. Nie można używać loginu / loginu i hasła klienta, aby uzyskać dostęp do dowolnego interfejsu API Google. Musisz użyć uwierzytelniania otwartego.

**

Oauth2 C #

Przykład korzysta z biblioteki klienta Dotnet API Google .

PM> Zainstaluj pakiet 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);
        }
    }

Uwierzytelnianie konta usługi Vb.net

Przykład wykorzystuje pakiet instalacyjny 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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow