Русский  English  Все проекты

Настроить авторизацию через OAuth2 для PHP скрипта



Есть скрипт, который авторизуется через OAuth2 и отправляет запросы в Google Analytics с использованием класса Google_Service_Analytics

Работу приложения можно посмотреть здесь https://www.kl82.com/node/add/report-ga-connector


Нужно точно так же отправлять запрос с использованием класса AnalyticsAdminServiceClient. Это класс из современной библиотеки Google Analytics Data API https://developers.google.com/analytics/devguides/reporting/data/v1?hl=en


Работающий фрагмент старого кода

$analytics = new Google_Service_Analytics($client)
$accounts = $analytics->management_accountSummaries->listManagementAccountSummaries()


Не работающий фрагмент кода:

$analytics = new AnalyticsAdminServiceClient([
credentials => GoogleApiCoreCredentialsWrapper::build( [
scopes => [
https://www.googleapis.com/auth/analytics,
openid,
https://www.googleapis.com/auth/analytics.readonly,
],
keyFile => [
type => authorized_user,
grant_type => authorized_user,
client_id => $client->getClientId(),
client_secret => $client->getClientSecret(),
refresh_token => $client->getRefreshToken(),
access_token => $client->getAccessToken()["access_token"]
],
] ),
] )
$accounts = $analytics->listAccounts()

Возвращает ошибку GuzzleHttpExceptionClientException: Client error: `POST https://oauth2.googleapis.com/token` resulted in a `400 Bad Request` response: { "error": "unsupported_grant_type", "error_description": "Invalid grant_type: " } in GuzzleHttpExceptionRequestException::create()



15.10.2024 20:23



 Ответы фрилансеров