【发布时间】:2021-05-18 23:52:46
【问题描述】:
我正在尝试从我的公司获取 Bing 广告支出。根据 Microsoft 文档,我了解到必须使用 Microsoft Azure 门户,获取 developer_token、client_id、tenant_id、client_secret 和访问/刷新令牌以下载带有我的数据的 csv 文件想要。
所以,这就是我所做的:
-
我收到了来自我公司的邀请,让我在此电子邮件地址上投放 Microsoft 广告: abc@myfirm.fr,我已经生成了我的开发者令牌。
-
使用此电子邮件地址,我在 Microsoft Azure 门户上创建了一个 Web 应用程序,它允许所有用户王。获取
client_id、tenant_id,并生成client_secret。 -
我选择的重定向 URL 是 http://localhost(根据文档但不确定这是选择的好 URL)。
-
使用 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