Поиск…


Синтаксис

параметры

параметр Описание
ID клиента В консоли разработчика Google вы узнаете о своем проекте или приложении
секрет В консоли разработчика Google вы узнаете о своем проекте или приложении
redirect_uri От места разработчика Google, где должна быть возвращена аутентификация. В случае собственных приложений urn:ietf:wg:oauth:2.0:oob можно использовать для обозначения localhost

замечания

Чтобы получить доступ к любому API Google, вам необходимо идентифицировать себя как разработчика и определить свой проект. Мы делаем это, создавая новый проект на консоли Google Developers .

Когда вы создаете свой проект, если вы хотите получить доступ к API-интерфейсам Google Analytics, вы должны включить API-интерфейсы, которые собираетесь использовать.

  • API отчетов : доступ к API отчетов Google Analytics v4.
  • API Analytics : доступ ко всему остальному.

Теперь вы должны решить, как вы хотите получить доступ к данным.

С помощью Google Data существуют два типа данных «Общественные и частные».

  • публичные данные не принадлежат пользователю. API метаданных - это общедоступный API, который вам не нужно регистрировать для доступа к этим данным.
  • API отчетов содержит данные пользователей Google Analytics, которые вы не можете просматривать, если пользователь не дал вам доступа к нему.

Если вы получаете доступ только к общедоступным данным, тогда вам нужно создать общедоступный ключ API, и вы сможете получить доступ к рассматриваемому API. Если вы собираетесь получать доступ к частным пользовательским данным, вам нужно будет создать учетные данные Oauth2 или учетные данные учетной записи службы.

Авторизация Oauth2

Для доступа к частным пользовательским данным у нас должно быть разрешение владельца данных на доступ к нему. Oauth2 позволяет нам запрашивать этот доступ у пользователя.

Вероятно, вы видели раньше Oauth2.

введите описание изображения здесь

Приложение «Google Analytics Windows» запрашивает доступ для просмотра пользователей «Данные Google Analytics»,

  1. Окна Google Analytics - это название проекта, созданного на консоли разработчика Google.
  2. Данные Google Analytics - это объем разрешений, которые мы просили.

Область применения Мы должны сообщить пользователю, что мы намерены использовать в Google Analytics API, две области, которые вы можете использовать.

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

Лучше всего запрашивать необходимые вам области. Если вы будете читать только данные пользователя, вам нужно только запросить область readonly.

Учетные записи служб авторизации

Учетные записи служб отличаются тем, что они предварительно одобрены. Если вы создадите учетные данные учетной записи службы, вы, как разработчик, можете отправить электронную почту учетной записи службы и добавить ее в качестве пользователя в своей учетной записи Google Analytics. На уровне учетной записи это предоставит учетной записи службы доступ к данным. Вам не нужно всплывать окно проверки подлинности и запрашивать доступ. Учетная запись службы будет иметь доступ к данным до тех пор, пока она будет пользователем в учетной записи Google Analytics.

Заключение

Аутентификация необходима для доступа к большинству данных, открытых API Google Analytics.

Вы не можете использовать вход / логин и пароль для доступа к любому API Google на май 2015 года. Вы должны использовать Open authentication.

**

Oauth2 C #

В примере используется клиентская библиотека Dotnet API Google API .

PM> Установить пакет 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);
        }
    }

Аутентификация учетной записи службы Vb.net

Пример использует Install-Package 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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow