API Google Adwords "Произошла ошибка: {"ошибка": "недопустимый грант"}"


Я все утро лазил по Интернету, пытаясь разобраться в этом. Я пытаюсь получить доступ к тестовому аккаунту Adwords через API, но продолжаю получать сообщение "Произошла ошибка: {"ошибка": "недействительный_грант"}". Я видел, что это довольно распространенная проблема, поэтому, возможно, если я опишу, что я сделал шаг за шагом, кто-нибудь сможет меня поправить. Надеюсь!

  1. Создал аккаунт Google adwords и настроил кампанию.

  2. Создал учетную запись MCC. Добавлены Google adwords учетная запись и подана заявка на доступ к API (в ожидании). Отмеченный ключ API, идентификатор клиента для auth.ini.

  3. Создал тестовый аккаунт MCC и добавил аккаунт Google adwords. Указанный идентификатор клиента для auth.ini.

  4. Используя учетную запись Google обеих учетных записей MCC, зашел в консоль API и создал новое установленное приложение. Отметил все ключи/жетоны.

  5. Скачал примеры PHP-кода и библиотеки. Побежал получать GetRefreshToken.php, предоставленный доступ к приложению(приложениям) и отмеченный маркер обновления для auth.ini

  6. Настройте файл auth.ini, заполняющий developertoken, UserAgent, clientCustomerId, client_id, client_secret и refresh_token.

  7. Теперь я попробовал использовать ОБА набора токенов и идентификаторов из консоли API тестовой учетной записи MCC и консоли API учетной записи live MCC. Оба дают мне одну и ту же ошибку. Я несколько раз пытался восстановить все жетоны.

  8. Сдался и приполз к стековому потоку.

Является ли сообщение invalid_grant связанным с Аутентификация или мой токен developerToken еще не активирован (уверен, что он сказал, что я могу использовать свою тестовую учетную запись), или потому, что я не настроил никаких счетов?

Author: jamie, 2014-05-02

3 answers

У меня долгое время была такая же ситуация. Но решение было очень простым.

Код, полученный после авторизации Google, не является вашим маркером обновления.Это всего лишь маркер доступа (я думаю.)

Вы должны добавить этот код в функцию переменной $code getAccessToken в getrefreshtoken.php-файл, и он вернет фактический токен обновления.

Это решило мою проблему.

 2
Author: Rashod Chamikara Bandara, 2015-04-29 08:25:06

В моем случае проблема была на шаге 5 в вашем списке; Я скопировал код авторизации из своего браузера после предоставления доступа, а не токен обновления, сгенерированный GetRefreshToken.php после того, как я вставил туда код авторизации.

 5
Author: El Yobo, 2014-08-26 07:46:17

Очень важно отметить, что SDK предназначен для использования через PHP-Cli. Поэтому, пожалуйста, не используйте его через браузер. Если вы все еще запустите его, закомментировав строку return, вы столкнетесь с дальнейшими проблемами, чтобы прокомментировать это в каждом файле:)

 1
Author: Imran Zahoor, 2015-12-21 13:41:55