Я пытаюсь использовать Google.Apis.Analytics.v3 (1.7.0.81-бета), чтобы получить некоторые базовые аналитические данные. Я много искал примеров и помощи, но большинство из них, похоже, устарели.
Это было у меня прямо сейчас:
var serviceAccountEmail = "[email protected]";
var certificate = new X509Certificate2(@"PATH-TO-MY-PRIVATE-KEY", "notasecret", X509KeyStorageFlags.Exportable);
var credential = new ServiceAccountCredential(
new ServiceAccountCredential.Initializer(serviceAccountEmail)
{
Scopes = new[] { AnalyticsService.Scope.Analytics }
}.FromCertificate(certificate));
// Create the service.
var gas = new AnalyticsService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "Tester",
});
var r = gas.Data.Ga.Get("ga:XXXXX", "2013-01-01", "2014-02-31", "ga:visitors");
//Specify some addition query parameters
r.Dimensions = "ga:pagePath";
r.Sort = "-ga:visitors";
r.MaxResults = 5;
//Execute and fetch the results of our query
GaData d = r.Execute();
Это дает мне:
Google.Apis.Requests.RequestError
Access Not Configured. Please use Google Developers Console to activate the API for your project. [403]
Errors [
Message[Access Not Configured. Please use Google Developers Console to activate the API for your project.] Location[ - ] Reason[accessNotConfigured] Domain[usageLimits]
]
В консоли API Google я уже настроил учетную запись службы Oauth2 и добавил электронное письмо из нее в свою учетную запись аналитики на странице, с которой я пытаюсь извлечь данные. Так что не уверен, что я пропустил? или если я на самом деле просто делаю это неправильно?
Обновить
После включения Analytics Api теперь я получаю:
Google.Apis.Requests.RequestError User does not have sufficient permissions for this profile. [403]
Errors [
Message[User does not have sufficient permissions for this profile.]
Location[ - ]
Reason[insufficientPermissions]
Domain[global]
]