Не удается заставить GetRefreshToken.php работать с Adwords API

Я новичок в API Adwords, и, пожалуйста, дайте мне знать, если я неясно опишу свою проблему. Я искал в Интернете, у людей есть такая же проблема, как и у меня, но никто из них не дал решения, которое сработало для меня. У меня практически та же проблема, что и у ОП этой треда. делает. Единственная разница в том, что я работал с тестовой учетной записью (ожидается получение токена разработчика для реальной учетной записи Центра клиентов). В auth.ini у меня был следующий набор информации:

developerToken = "PENDING_DEVELOPER_TOKEN_OF_THE_LIVE_ACCOUNT"
userAgent = "COMPANY_NAME"
clientCustomerId = "CUSTOMER_ID_OF_TEST_ACCOUNT"

client_id = "CLIENT_ID_OF_TEST_ACCOUNT"
client_secret = "CLIENT_SECRET_OF_TEST_ACCOUNT"

Вся остальная информация оставлена ​​по умолчанию.

Я следовал этому руководству, чтобы получить идентификатор клиента и секрет клиента. И эта пара идентификатора и секрета связана с тестовой учетной записью, поскольку я вошел в электронную почту тестовой учетной записи, когда регистрировал приложение в Google Cloud Console. Я также протестировал действующую учетную запись MCC и сгенерировал еще одну пару идентификатора и секрета, но ни один из них не работал. Когда я запускаю GetRefreshToken.php в браузере, я получаю сообщение об ошибке, как показано ниже:

Ваши учетные данные OAuth2 неверны. См. пример GetRefreshToken.php. { "ошибка" : "invalid_request"}

Целый день бьюсь головой об стол, до сих пор не могу понять, что я сделал не так с настройкой. Любое понимание ценится. Большое спасибо!


person aarryy    schedule 12.12.2013    source источник


Ответы (1)


Вот шаги для настройки API AdWords:

  1. Загрузите клиентскую библиотеку (https://github.com/googleads/googleads-php-lib)

  2. Зарегистрируйте свое приложение в действующей учетной записи Центра клиентов. Войдите в систему https://cloud.google.com/console. В разделе API и авторизация -> учетные данные нажмите «Создать новый идентификатор клиента» и убедитесь, что вы выбрали «опцию установленного приложения». URI перенаправления автоматически укажет на ваш локальный хост. Поэтому убедитесь, что вы запускаете свое приложение на локальном хосте.

  3. Теперь создайте тестовую учетную запись Центра клиентов.

  4. В тестовом аккаунте Центра клиентов нажмите «Создать аккаунт». Внутри формы создания учетной записи есть возможность пригласить пользователя. Введите адрес электронной почты для вашей тестовой учетной записи здесь. Обратите внимание, что эта учетная запись не должна быть уже связана с учетной записью AdWords.

  5. Как только вы примете приглашение и все остальное, ваша тестовая учетная запись будет связана с вашей тестовой учетной записью Центра клиентов. Он будет отображаться в таблице на панели инструментов тестового аккаунта Центра клиентов.

  6. В файле auth.ini используйте токен разработчика, идентификатор клиента и секрет клиента из вашей реальной учетной записи. clientCustomerId должен быть идентификатором вашей тестовой учетной записи.

  7. Теперь запустите файл GetRefreshToken.php из командной строки. Скопируйте и вставьте выходной URL-адрес в свой браузер. Затем войдите в свою тестовую учетную запись. Вам будет предложено принять разрешение на доступ вашего приложения к учетной записи AdWords.

  8. Как только вы согласитесь, вы будете перенаправлены в свое приложение, а URL-адрес будет иметь параметр «код».

  9. Скопируйте и вставьте код обратно в командную строку, где он запросит код авторизации. Ваш токен обновления будет отображаться.

person depz123    schedule 30.12.2013
comment
Спасибо за ответ, хотя я понял это через пару дней после того, как разместил вопрос. Небольшое исправление: если вы хотите протестировать тестовую учетную запись (вы можете протестировать тестовую учетную запись только до того, как ваш токен разработчика будет одобрен), вы должны использовать идентификатор клиента и секрет клиента из своей тестовой учетной записи вместо реальной учетной записи, в противном случае возникнет ошибка «unauthorized_client». И я приму ваш ответ, как только вы его обновите. Ваше здоровье - person aarryy; 31.12.2013