Не могу получить доступ к AdSense API, что бы я ни пытался. Я пробовал аутентификацию как с служебной учетной записью, так и с аутентификацией OAuth.
Что я пытаюсь сделать:
Создание бота, который будет получать доход от AdSense и сохранять его во внутренней базе данных для отслеживания доходов с течением времени. Я не хочу иметь проблем с аутентификацией, мне нужна конфигурация сервер-сервер.
Что я знаю, так это то, что вы можете иметь токены доступа и токены обновления под OAuth. Мне еще предстоит заставить их работать с любыми доступными API с AdSense. Примечание. Я создал API для работы с AdWords без проблем.
Ошибки: (между типами аутентификации я не могу пройти эти)
"Аккаунт не найден"
«Клиент не авторизован для получения токенов доступа с помощью этого метода».
Что я уже сделал:
API управления AdSense включен.
Учетные данные созданы: учетная запись службы
Созданные учетные данные: идентификатор клиента oAuth 2.0
Учетная запись GSuite имеет доступ к API (включая «включенный доступ к API» и «управляемый клиентский доступ к API»).
Библиотеки (пытаюсь) использовать:
https://developers.google.com/api-client-library/php/< /а>
https://github.com/google/google-api-php-client
https://github.com/google/google-api-php-client-services
(устарело) https://github.com/googleads/googleads-adsense-examples
Пример кода: (используя сервисный аккаунт)
$client = new \Google_Client();
$client->setAuthConfig(WRITEPATH . 'auth/adsense-client.json');
$client->setIncludeGrantedScopes(true);
$client->addScope('https://www.googleapis.com/auth/adsense');
$client->setSubject('[email protected]');
// trying to fire the services
$service = new \Google_Service_AdSense($client);
$report = $service->accounts_reports->generate('clientId', $startDate, $endDate, $optParams);
Этот сценарий выдает сообщение об ошибке "Клиент не имеет прав на получение маркеров доступа с помощью этого метода". Однако используемый адрес электронной почты может получить доступ к учетной записи AdSense, API-интерфейсы включены и настроены на уровне домена администратора.
Есть ли более простой способ? есть ли кто-нибудь, кто может вести меня в правильном направлении?