Я пытался узнать, как использовать API Google Analytics для получения данных о трафике сайта. Я продолжаю сталкиваться с ошибкой, говорящей, что у пользователя нет разрешения на доступ к профилю. Я добавил адрес электронной почты из учетной записи службы в пользователей и попытался сделать его как пользователем с доступом ко всем профилям, так и администратором, но ни один из них не работал.
Это мой код, который я получил от здесь:
string scope = AnalyticsService.Scopes.AnalyticsReadonly.GetStringValue();
string clientId = "[email protected]";
string keyFile = @"C:\Users\emorris\Downloads\xxxxxxxxxx-privatekey.p12";
string keyPassword = "notasecret";
AuthorizationServerDescription desc = GoogleAuthenticationServer.Description;
X509Certificate2 key = new X509Certificate2(keyFile, keyPassword, X509KeyStorageFlags.Exportable);
AssertionFlowClient client = new AssertionFlowClient(desc, key) { ServiceAccountId= clientId, Scope = scope };
OAuth2Authenticator<AssertionFlowClient> auth = new OAuth2Authenticator<AssertionFlowClient>(client, AssertionFlowClient.GetState);
AnalyticsService gas = new AnalyticsService(new BaseClientService.Initializer() { Authenticator = auth });
DataResource.GaResource.GetRequest r = gas.Data.Ga.Get("ga:xxxxxx", "2013-05-01", "2013-05-31", "ga:visitors");
GaData d = r.Fetch();
Он сталкивается с проблемой в последней строке, где он дает мне:
Google.Apis.Requests.RequestError
У пользователя недостаточно прав для этого профиля. [403]
Я посмотрел здесь, где Казалось, что это аналогичная проблема, но все, что в нем говорится, это добавить адрес электронной почты в качестве пользователя в консоль API, что я и сделал. Кто-нибудь знает, что мне нужно изменить?