首页 > 解决方案 > R 请求登录以登录亚马逊以获取亚马逊广告 API 的访问令牌

问题描述

我正在尝试在 localhost 上构建一个闪亮的 Web 应用程序。我正在使用 R 并尝试访问亚马逊广告 API。该文档位于此站点https://advertising.amazon.com/API/docs/en-us/setting-up/generate-api-tokens

我不确定我正在尝试构建什么类型的集合来获得亚马逊卖家账户上我的广告系列的电话。我设置了开发者帐户并获得了所需的签名客户端 ID 和密钥。

它使用 OAuth 2.0,我认为我可以阅读文档并弄清楚,但我无法理解。

谁能指导我如何正确构建 OAuth 代码以访问 API?

标签: rshinyoauth-2.0amazon-advertising-api

解决方案


是的,亚马逊广告 API 文档在第一次尝试时很难破解。我想知道为什么他们有如此模糊的文档。好的,这是您需要遵循的步骤

1) 在您注册的应用程序中,输入http://localhost作为重定向 URI。

2) 在您的浏览器中访问此链接,但将 CLIENT_ID 和 RETURN_URL 替换为您在注册应用程序的 Web 设置中看到的值。

https://www.amazon.com/ap/oa?client_id=YOUR_LWA_CLIENT_ID &scope=cpc_advertising:campaign_management&response_type=code &redirect_uri=YOUR_RETURN_URL

亚马逊现在已经按地理更改了链接。上面的默认链接适用于北美

对于欧盟,使用https://eu.account.amazon.com/ap/oa 作为 URL

对于远东,使用https://apac.account.amazon.com/ap/oa作为 URL

3) 验证帐户。使用您之前创建的 Login with Amazon 帐户登录

4) 复制您将在 localhost URL 字符串中看到的代码。请注意,此代码仅在 5 分钟内有效,因此请提前准备好下一步。在您的 R Notebook 中,使用您的 CLIENT_ID 和 CLIENT_SECRET 运行此代码。如果您的授权码已失效,请重复步骤 1 访问链接。

在这里,亚马逊也按地理位置更改了 URL。代码中给出的默认 URl 现在适用于北美。对于欧盟,使用https://api.amazon.co.uk/auth/o2/token 对于远东,使用https://api.amazon.co.jp/auth/o2/token

使用此 R 代码获取您的访问和刷新令牌。立即保存刷新令牌,因为它将在将来用于获取访问令牌。

获取初始访问和请求令牌

图书馆(httr)

标头 = c( Content-Type= 'application/x-www-form-urlencoded;charset=UTF-8', )

数据=列表( grant_type='authorization_code', code='YOUR_AUTHORIZATION_CODE', redirect_uri=' http://localhost ', client_id='YOUR_CLIENT_ID', client_secret='YOUR_CLIENT_SECRET')

response = POST(url = ' https://api.amazon.com/auth/o2/token ', add_headers(.headers=headers), body = data , encode = "form")

使用查看访问和刷新令牌的详细信息

内容(响应)$access_token

内容(响应)$refresh_token


推荐阅读