Настроить авторизацию через OAuth2 для PHP скрипта
5 000 руб. за проект
Есть скрипт, который авторизуется через 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' => Google\ApiCore\CredentialsWrapper::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();
Возвращает ошибку GuzzleHttp\Exception\ClientException: 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 GuzzleHttp\Exception\RequestException::create()
Работу приложения можно посмотреть здесь 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' => Google\ApiCore\CredentialsWrapper::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();
Возвращает ошибку GuzzleHttp\Exception\ClientException: 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 GuzzleHttp\Exception\RequestException::create()
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.