【发布时间】:2020-11-05 15:00:41
【问题描述】:
我正在尝试使用 Python 编写的应用程序中的 suitetalk Web 服务 api。
没有太多文档,但从那里我尝试创建身份验证(HMAC-SHA256)但每次都得到这个: error="token_rejected", error_description="无效登录尝试。"
使用 netsuite 提供的集合在邮递员中使用相同的凭据,我能够登录并调用 API,因此我知道我的凭据很好,这不是权限问题。
邮递员调用和我的唯一区别是随机数、时间戳(这两个很明显)和签名。
我尝试使用带有以下代码的签名:
params = {
'oauth_version': "1.0",
'oauth_nonce': oauth.generate_nonce(),
'oauth_timestamp': str(int(time.time())),
'oauth_token': token.key,
'oauth_consumer_key': consumer.key
}
req = oauth.Request(method=http_method, url=url, parameters=params)
signature_method = oauth.SignatureMethod_HMAC_SHA1()
req.sign_request(signature_method, consumer, token)
header = req.to_header(realm)
return header['Authorization']
我认为这是 HMAC_SHA1 问题而不是 256,但该加密适用于邮递员。
我也试过: NetSuite python TBA Authentication
我很困惑,如果能提供一些有用的见解或代码 sn-p,我将不胜感激。
【问题讨论】:
-
看看这个 ruby 代码,了解如何生成 oauth 签名 github.com/NetSweet/netsuite/blob/master/lib/netsuite/passports/…
-
您是否找到了解决方案,因为我被困在这里并尝试了很多事情,但没有发生任何事情,如果您指导我会很好