У меня проблемы с аутентификацией с использованием DoubleClick Bid Manager API
Я настроил служебную учетную запись в соответствии с инструкциями Google и использую клиентскую библиотеку PHP API Google. Следуя документации, мой код выглядит так:
require_once 'Google/autoload.php';
$client_email = 'myemail.com';
$private_key = file_get_contents('myfilename.p12');
$scopes = ['https://www.googleapis.com/auth/doubleclickbidmanager'];
$credentials = new Google_Auth_AssertionCredentials(
$client_email,
$scopes,
$private_key,
);
$client = new Google_Client();
$client->setAssertionCredentials($credentials);
if ($client->getAuth()->isAccessTokenExpired()) {
$client->getAuth()->refreshTokenWithAssertion();
}
$service = new Google_Service_DoubleClickBidManager($client);
$response = $service->queries->listqueries();
Последняя строка вызывает ошибку:
Неустранимая ошибка: необработанное исключение «Google_Service_Exception» с сообщением «Ошибка вызова GET https://www.googleapis.com/doubleclickbidmanager/v1/queries: (403) Вы не авторизованы для использования DoubleClick Bid Manager API. Пожалуйста, свяжитесь с [email protected]. ‘
Я написал им по электронной почте, но я не уверен, что кто-то там оказывает поддержку по техническим вопросам. Я перечитал документацию, я не вижу, где я иду не так. Если кто-то прошел через это раньше или имеет какие-либо указатели, они будут высоко оценены !!!
Большое спасибо
PS Я настроил свой доступ к API ранее на этой неделе. Опять же, я следовал инструкциям в документации и получил последнее электронное письмо с подтверждением от Google относительно настройки, так что в этом отношении все должно быть хорошо.
Менеджер ставок DoubleClick не поддерживает учетные записи служб. Они используют разрешения пользователя в DBM, чтобы определить разрешения для запросов API, поэтому требуется аутентификация на основе пользователя.
Других решений пока нет …