Я пишу приложение Ruby, которое обращается к API Google Analytics, чтобы вытащить информацию об экспериментах.
Приложение подключается и аутентифицируется с помощью учетной записи Google через следующую функцию:
def connect
...
@@client = Google::APIClient.new(:application_name => 'My Service App',
:application_version => '1.0.0')
key_file = Rails.root.join('config', 'privatekey.p12').to_s
key_secret = 'somesecret'
key = Google::APIClient::PKCS12.load_key(key_file, key_secret)
asserter = Google::APIClient::JWTAsserter.new(
SECRETS[:google_service_account_email],
['https://www.googleapis.com/auth/yt-analytics.readonly',
'https://www.googleapis.com/auth/analytics.readonly'
],
key
)
@@client.authorization = asserter.authorize()
...
end
... который аутентифицирует и обнаруживает оба API без проблем.
Использование клиента против API YouTube Analytics работает без проблем. Используя ту же самую точную учетную запись для доступа к API Google Analytics через...
response = @@client.execute({
# 'analytics is the API object retrieved via discover_api()
:api_method => analytics.management.experiments.list,
:parameters => {
'accountId' => 'AAAAAAAA',
'profileId' => 'PPPPPPPP',
'webPropertyId' => 'UA-WWWWWWWW-#'
}
})
Результаты в ошибке 403:
{"domain":"global","reason":"insufficientPermissions","message":"User does not have sufficient permissions for this account."}
Что касается авторизации, я дважды проверил учетную запись [email protected]:
- Имеет полный доступ к веб-интерфейсу Google Analytics.. Я вошел в систему, используя учетную запись [email protected], и смог просмотреть те же эксперименты, которые я попытался перечислить.
- Включил API Google Analytics.. В консоли API я подтвердил в разделе "Службы", что элемент API Analytics переключается на "ВКЛ". (Так же, как YouTube Analytics.)
- Я использую соответствующие значения AccountID, ProfileID и WebPropertyID. Скопировано непосредственно из веб-интерфейса Google Analytics.
Учитывая, что учетная запись службы может иметь доступ, по крайней мере, к одному API (YouTube Analytics), а связанная с ней учетная запись ([email protected]) может обращаться к веб-интерфейсу Google Analytics, похоже, что что-то не так с учетной записью службы, обращающейся к Google Analytics API в частности.
Любые идеи?
Похожие темы:
- "Недопустимые разрешения" учетная запись службы API Google Analytics (ПРИМЕЧАНИЕ. Эта ошибка немного отличается от моей)
- Сообщение в блоге Google Analytics, проверьте раздел комментариев для 'permissions'