【问题标题】:How to get data from Microsoft Bing Ads API如何从 Microsoft Bing Ads API 获取数据
【发布时间】:2021-05-18 23:52:46
【问题描述】:

我正在尝试从我的公司获取 Bing 广告支出。根据 Microsoft 文档,我了解到必须使用 Microsoft Azure 门户,获取 developer_tokenclient_idtenant_idclient_secret 和访问/刷新令牌以下载带有我的数据的 csv 文件想要。

所以,这就是我所做的:

  1. 我收到了来自我公司的邀请,让我在此电子邮件地址上投放 Microsoft 广告: abc@myfirm.fr,我已经生成了我的开发者令牌。

  2. 使用此电子邮件地址,我在 Microsoft Azure 门户上创建了一个 Web 应用程序,它允许所有用户王。获取client_idtenant_id,并生成client_secret

  3. 我选择的重定向 URL 是 http://localhost(根据文档但不确定这是选择的好 URL)。

  4. 使用 Postman,我已尝试使用此端点: https://login.microsoftonline.com/common/oauth2/v2.0/authorize 以及 OAuth 2.0 身份验证获取我的访问令牌所需的参数(先前获得的)。没有成功。

问题就在这里。

当我请求访问令牌时,会打开一个新的浏览器窗口,并要求提供一个用于进行身份验证的电子邮件地址。我正在使用我的电子邮件地址 abc@myfirm.fr,我在 Postman 上收到了 authentication completed,但在回复正文中我收到了 access_token: invalid

我帐户的角色是超级管理员。

所以我尝试使用专业的 Microsoft Azure 帐户进行身份验证,这次我在浏览器中收到了Invalid redirect url

我还尝试使用不同的电子邮件地址重新开始,例如我的个人电子邮件地址或 Microsoft Advertising 帐户创建者的电子邮件地址,我在浏览器中收到错误 contact your system Admin

我也尝试过使用文档中给出的 Python SDK 项目,但出现错误消息。

我一定是忘记或误解了什么。

我们是否应该在 Microsoft Advertising、Microsoft Azure 以及获取访问令牌时使用相同的电子邮件地址(或相同的帐户)?

您是否必须付费订阅 Azure? (已经完成但没有成功)

先谢谢了,对不起我的英语。

编辑:

感谢您的回复。完整的请求是:https://login.microsoftonline.com/common/oauth2/v2.0/authorize,带有以下参数:

-类型:OAuth 2.0

-头前缀:承载

-授权类型:授权码

-回调地址:https://localhost

-认证网址:https://login.microsoftonline.com/{my-tenant_id}/oauth2/v2.0/authorize

-访问令牌网址:https://login.microsoftonline.com/{my-tenant_id}/oauth2/v2.0/token

-我的客户编号

-我的客户密码

-scope:https://ads.microsoft.com/ads.manage 或者也使用https://graph.microsoft.com/User.Read进行测试

-状态:无

-客户端身份验证:在正文中发送客户端凭据

给我一​​个 access_token,但是当我点击使用令牌并发送请求时,我没有得到刷新令牌

【问题讨论】:

  • 如果您只是想查看您公司的广告数据,那么我认为您可以使用微软广告应用之类的东西;你不需要 API。如果您确实想以编程方式处理广告数据,并且确实想使用 API,那么请确保您了解 OAuth 授权代码流。以你猜测重定向 URI 的方式来判断,例如,你可能不理解重定向获取令牌的目的。
  • 是的,我需要使用 API 将我的数据存储在内部数据库中。
  • 如果我的答案对您有帮助,您可以接受它作为答案(点击答案旁边的复选标记,将其从灰色切换为已填充。)。见meta.stackexchange.com/questions/5234/…。这对其他社区成员可能是有益的。谢谢。
  • 谢谢,但还是不行,我已经用完整的请求编辑了我的帖子
  • 我看到了你的更新。请查看此帖子 docs.microsoft.com/en-us/answers/questions/28697/… 看看是否有帮助。

标签: azure-active-directory bing-ads-api


【解决方案1】:

一旦用户同意,您就可以获得访问令牌并代表用户行事。

因此,当浏览器会话开始时,您应该输入您的 Microsoft Advertising 凭据

在获取授权码的请求中记得设置scope=https://ads.microsoft.com/ads.manage

如果您希望自动执行此过程,可以参考this script and steps 获取访问令牌。

【讨论】:

  • 如果还是不行,请提供你关注的微软文档和完整的请求到https://login.microsoftonline.com/common/oauth2/v2.0/authorize
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多