- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
根据亚马逊销售合作伙伴 API 文档,我能够获得 LWA 访问 token
。但是,我无法向 REST API 发出请求。
我尝试使用 aws-sdk-signer
创建签名请求
access_token = 'LWA access token'
signer = Aws::Sigv4::Signer.new(
access_key_id: 'my access id',
region: 'us-east-1',
secret_access_key: 'my access key,
service: 'execute-api',
)
signature = signer.sign_request(
http_method: 'GET',
url: 'https://sellingpartnerapi-na.amazon.com/orders/v0/orders',
headers: {
'host' => 'sellingpartnerapi-na.amazon.com',
'user_agent' => 'test (Language=Ruby)',
'x-amz-access-token' => access_token
})
response = HTTParty.send(:get, 'https://sellingpartnerapi-na.amazon.com/orders/v0/orders', headers: {
'host' => signature.headers['host'],
'user_agent' => 'test (Language=Ruby)',
'x-amz-access-token' => access_token,
'x-amz-content-sha256' => signature.headers['x-amz-content-sha256'],
'x-amz-date' => signature.headers['x-amz-date'],
'Authorization' => signature.headers['authorization'],
})
回应
{"errors"=>[{"message"=>"Access to requested resource is denied.", "code"=>"Unauthorized", "details"=>"Access token is missing in the request header."}]}
看起来我没有正确签署 LWA 访问 token ,但我不知道发生了什么,因为这是一个新的 API,并且没有太多实现,尤其是在 ruby 中。
谁能指点一下?
更新:我关注了 Singer 文档 https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Sigv4/Signer.html
最佳答案
对于遇到此问题的任何人:
您的问题可能源于 HTTPParty
(或其他 HTTP 客户端 gem)在幕后使用 Ruby 的 Net::HTTPHeader
。
Net::HTTPHeader
在发送请求之前将所有请求 header 大写,并且 x-amz-access-token
header 区分大小写。
如果您使用有效值填充 x-amz-access-token
并且仍然收到以下错误:
{
"message": "Access to requested resource is denied.",
"code": "Unauthorized",
"details": "Access token is missing in the request header."
}
...那么您可能会遇到这个问题。
你可以像这样重载 Net:HTTPHeader.capitalize
来绕过它:
module Net::HTTPHeader
def capitalize(name)
name
end
private :capitalize
end
另请参阅:https://github.com/amzn/selling-partner-api-docs/issues/292#issuecomment-759904882
关于ruby - Amazon Selling Partner API - 签名请求(ruby 实现),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65669679/
我的 .py 文件是 class Suppiler(models.Model): _inherit = "res.partner" author= fields.Boolean(s
我是openerp的新手,我遇到了res.partner,但我无法理解它的作用以及它提供的所有功能,所以如果有人可以解释它对我来说,我将不胜感激。 最佳答案 澄清。 res.partner 是一个 O
我目前每小时轮询一次新交易,但无法确定交易是否是新交易,或者它是否是先前交易状态的进步。 据我所见,随着事务从待处理状态演变为已发布状态,它需要多个新的 id,从而产生我已经开始编写的算法来确定它是否
我有一个有效的 QBXML 界面,但我似乎无法添加几个 数据项到发票上传(到 QB)。我正在尝试添加 发票日期和 P.O.数字。 QB 返回的错误是: QuickBooks found an erro
我正在使用以下配置:Apache/2.2.22 (Win32) PHP/5.4.17 执行 php 示例时,我收到以下错误消息: 注意:C:\Program Files (x86)\Apache So
我正在使用 quickbooks sdk v2 进行开发,以便将我的应用程序与 quickbooks 在线集成。如果我不想让我的应用出现在 intuit 应用商店中,是否有必要使用开放 ID 做任何事
我按照Microsoft的文档获取客户的帐单资料。 使用带有Powershell代码的auth tutorial $credential = Get-Credential Connect-Partne
我有几个关于 AggCat 中存在的帐户实际上被他/她的机构的客户删除的案例的询问。 场景:机构I有A、B、C、D 4个账户。客户已在其机构删除了账户A。在 A 实际在该机构被删除之前,这 4 个帐户
通过参数 (vals) 提供给 write() 的数据可以从方法 check_access_rights 中访问吗? 我继承自 res.partner 并重写方法 check_access_right
您好,我继承了CRM模块。我继承了客户模型并将redirect_partner_form重写为 from osv import fields, osv from IPython.Debugger im
我们正在使用 Intuit API V2 从 QuickBooks Online 导入发票。 我们希望“TotalAmt”字段出现在所有发票上。 有几张发票在过去的某个时间点存在“TotalAmt”,
我正在尝试使用 python 和 django 制作聊天应用程序。我几乎完成了它,当两个人在特定时间之后聊天时它显示错误时,它可以正常工作 8-10 分钟。 这是回溯:- Traceback (mos
我正在开发 ODOO iOS 应用程序。我正在使用 res.partner 模型和 create 方法创建 Customer。客户创建成功,没有任何错误,但我在创建期间选择的标签字段没有生成。 我使用
我们有一个 Web 服务,用于授权我们的应用程序与 QuickBooks Online 之间的连接。它已经工作了两年,最后一次成功授权是在 2017 年 2 月 28 日。新的授权尝试可以使用 Int
当我尝试查询项目时使用 V3,我收到一个类型为 SystemFault 的一般错误。 我正在尝试执行 Select * From Item Where Name = 'Something' 这在 AP
我是 odoo v8 的新手,我无法理解 res_partner 和 res_users 表之间的关系以及与 hr_employee 表之间的关系,它们都相关吗? 最佳答案 res.partner之间
我正在尝试在指定的合作伙伴位置中查找产品的 qty_available,我有三个 Many2one 字段到 res.partner , printer_book_block = fields.
我们正在尝试连接到启用了数据库镜像的 SQL。我们有 2 个服务器:DB1(主体)和 DB2(镜像)。 我们正在使用连接字符串: Provider=SQLOLEDB;Data Source=DB1;F
我正在尝试在 CRM 模块的商机部分对客户应用分组。 我想对行业的客户/机会进行分组。 我在 res.partner 中使用了类似的代码,但我无法解决这个问题! 模型.py x_industry_id
根据亚马逊销售合作伙伴 API 文档,我能够获得 LWA 访问 token 。但是,我无法向 REST API 发出请求。 https://github.com/amzn/selling-partne
我是一名优秀的程序员,十分优秀!