Как получить данные из API Microsoft Bing Ads

#azure-active-directory #bing-ads-api

Вопрос:

Я пытаюсь получить рекламу в Bing от своей фирмы. Согласно документации Microsoft, я понял, что для загрузки файлов с нужными мне данными обязательно использовать портал Microsoft Azure, получить developer_token , client_id , tenant_id , client_secret и маркер доступа/обновления csv .

Итак, вот что я сделал:

  1. Я получил приглашение от своей фирмы для размещения рекламы Microsoft на этот адрес электронной почты: abc@myfirm.fr, и я сгенерировал свой токен разработчика.
  2. С помощью этого адреса электронной почты я создал веб-приложение на портале Microsoft Azure, которое позволяет всем пользователям. Получаем client_id , tenant_id , и генерируем a client_secret .
  3. URL-адрес перенаправления, который я выбрал, является http://localhost (согласно документации, но не уверен, что это правильный URL-адрес для выбора).
  4. С почтальоном я попытался использовать эту конечную точку: https://login.microsoftonline.com/common/oauth2/v2.0/authorize и параметры (ранее полученные), необходимые для аутентификации OAuth 2.0, чтобы получить мой токен доступа. Безуспешно.

Проблема в следующем.

Когда я запрашиваю маркер доступа, открывается новое окно браузера и запрашивается адрес электронной почты для аутентификации. Я использую свой адрес электронной почты abc@myfirm.fr и я получил authentication completed на Почтальона, но в тело ответа, которое у меня есть access_token: invalid .

Роль моей учетной записи-суперадминистратор.

Поэтому я пытаюсь пройти аутентификацию с помощью профессиональной учетной записи Microsoft Azure, и на этот раз я вошел в браузер Invalid redirect url .

Я также попытался начать все сначала с другого адреса электронной почты, например, с моего личного адреса электронной почты или с адреса электронной почты создателя рекламной учетной записи Microsoft, и я получаю сообщение об ошибке contact your system Admin в браузере.

Я также попытался использовать проект Python SDK, приведенный в документации, с сообщением об ошибке.

Должно быть, я что-то забыл или неправильно понял.

Должны ли мы использовать один и тот же адрес электронной почты (или одну и ту же учетную запись) в рекламе Microsoft, в Microsoft Azure и при получении маркера доступа?

Вам нужно платить и подписываться на Azure? (Уже сделано, но безуспешно)

Заранее спасибо, извините за мой английский.

Редактировать:

Спасибо за ваш ответ. Полный запрос таков: https://login.microsoftonline.com/common/oauth2/v2.0/authorize со следующими параметрами:

-тип: OAuth 2.0

-Префикс заголовка: Предъявитель

-Тип предоставления: Код авторизации

-URL обратного вызова: https://localhost

-URL-АДРЕС авторизации: https://login.microsoftonline.com/{my-tenant_id}/oauth2/v2.0/авторизация

-URL — адрес токена доступа: https://login.microsoftonline.com/{my-tenant_id}/oauth2/v2.0/токен

-мой идентификатор клиента

-секрет моего клиента

-область применения: https://ads.microsoft.com/ads.manage ИЛИ также тестирование с помощью https://graph.microsoft.com/User.Read

-Состояние: Нет

-Аутентификация клиента: отправка учетных данных клиента в теле

Дайте мне ключ доступа, но когда я нажимаю «Использовать токен» и отправляю запрос, я не получаю токен обновления

Комментарии:

1. Если вы просто хотите просмотреть рекламные данные своей фирмы, то, я думаю, вы можете просто использовать что-то вроде рекламного приложения Microsoft; вам не нужен API. Если вы действительно хотите обрабатывать данные рекламы программно и действительно хотите использовать API, убедитесь, что вы понимаете поток кода авторизации OAuth. Судя по тому, как вы, например, угадываете URI перенаправления, кажется, что вы, возможно, не понимаете цели перенаправления при получении токенов.

2. Да, мне нужно использовать API для хранения моих данных во внутренней базе данных.

3. Если мой ответ вам полезен, вы можете принять его как ответ( нажмите на галочку рядом с ответом, чтобы переключить его с серого на заполненный.). См. meta.stackexchange.com/questions/5234/. … Это может быть полезно для других членов сообщества. Спасибо.

4. Спасибо, но это все равно не работает, я отредактировал свой пост с полным запросом

5. Я видел ваше обновление. Пожалуйста, взгляните на этот пост docs.microsoft.com/en-us/answers/questions/28697/… чтобы посмотреть, поможет ли это.

Ответ №1:

Как только пользователь даст согласие, вы можете получить токен доступа и действовать от имени пользователя.

Поэтому при запуске сеанса браузера вам следует ввести свои учетные данные для рекламы Microsoft.

Не забудьте указать scope=https://ads.microsoft.com/ads.manage в запросе на получение кода авторизации.

Если вы предпочитаете автоматизировать этот процесс, вы можете обратиться к этому сценарию и инструкциям по получению маркера доступа.

Комментарии:

1. Если это все еще не работает, пожалуйста, предоставьте документацию Microsoft, которой вы следуете, и полный запрос https://login.microsoftonline.com/common/oauth2/v2.0/authorize .