r - 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?
解决方案
是的,亚马逊广告 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
推荐阅读
- typescript - RUC厄瓜多尔验证者
- numpy - 有没有更好的方法来调整 numpy 数组形式的图像的大小?
- arrays - 为什么我在 c 中分配 2048 * 2048 int 数组时出现分段错误
- c# - Visual Studio 上的鼠标交互
- python-3.x - python 3中pandas数据帧的自定义Scaler函数加倍长度(行)
- .net - BinarySearch 和 RegistryKey 的定义?
- node.js - Sequelize Op.overlap 用于字符串数组
- html - 当需要字段并且弹出输入警告的模式时,下拉菜单中的登录关闭
- kubernetes - 最小活动/备用服务数
- python - 如何在python中以最佳方式使用多线程和多处理?