Netsuite - REST API (restlet)- 创建记录导致 INVALID_LOGIN_ATTEMPT 第二次和更多记录请求失败

Netsuite - REST API (restlet)- creating record causes INVALID_LOGIN_ATTEMPT failure on the 2nd and more request for records

我在使用基于令牌的身份验证 (TBA) oauth 身份验证通过 netsuite rest api 创建后续记录时遇到问题。这是我的完整代码:https://gist.github.com/axilaris/428e63e5ff107d212fbcc07c5bdbce7a(它包含 restlet、python 代码和 python 代码的输出)。

第一条记录已创建(您可以看到成功),但第二条记录总是 INVALID_LOGIN_ATTEMPT。如果我删除创建第二条记录,它每次仍然会成功创建。但是如果我在创建第二个或更多的过程中,它总是第二个和更多将有 INVALID_LOGIN_ATTEMPT.

{'Authorization': b'OAuth realm="5504997_SB1", oauth_version="1.0", oauth_nonce="87811756", oauth_timestamp="1635417611", oauth_token="d0c58f511e12345678c3e969e09e0ae1d967869762a354523494f0b953e9", oauth_consumer_key="117123345674ffb0b98440badb57205b3542234832cbdbabca0", oauth_body_hash="2jmj7l5rSw0yVb%2FvlWAYeqweq%2FYBwk%3D", oauth_signature_method="HMAC-SHA256", oauth_signature="Apx76mZiSjKtF6WjLweqweqwRNV4KF1VEZAfURe8%3D"', 'Content-Type': 'application/json'}
Result: {"success":true}
{'X-N-OperationId': '42656b12-5874-4870-b958-631e8a298ecd', 'NS_RTIMER_COMPOSITE': '331252041:706172746E6572733031312E70726F642E6475622E6E65746C65646765722E636F6D:80', 'Strict-Transport-Security': 'max-age=31536000', 'Content-Type': 'application/json;charset=utf-8', 'Pragma': 'No-Cache', 'Cache-Control': 'No-Cache', 'Expires': '0', 'Content-Length': '17', 'P3P': 'CP="CAO PSAa OUR BUS PUR"', 'Vary': 'User-Agent', 'Date': 'Thu, 28 Oct 2021 10:40:11 GMT', 'Connection': 'keep-alive', 'Set-Cookie': 'NS_ROUTING_VERSION=LAGGING; path=/', 'Akamai-GRN': '0.57561b3a.1635417611.239d029f'}
Result: {"error" : {"code" : "INVALID_LOGIN_ATTEMPT", "message" : "Invalid login attempt."}}
{'WWW-Authenticate': 'OAuth realm="5008903_SB1"', 'Content-Type': 'application/json;charset=utf-8', 'Content-Length': '84', 'P3P': 'CP="CAO PSAa OUR BUS PUR"', 'Vary': 'User-Agent', 'Date': 'Thu, 28 Oct 2021 10:40:12 GMT', 'Connection': 'close', 'Set-Cookie': 'NS_ROUTING_VERSION=LAGGING; path=/', 'Akamai-GRN': '0.57561b3a.1635417611.239d0735'}

这是审计追踪日志的截图

有人可以建议每次创建记录时都需要身份验证吗?有没有更好的方法来处理这个问题,首先进行 TBA 身份验证,然后使用该响应(可能是令牌)创建多个记录?请指教,因为我有一个定期创建记录的平台。

根据 SuiteAnswer 74343

对于这个例子,用户已经使用了 nonce + timestamp 的组合。确保为每个请求生成唯一的随机数。

确保不要发送相同的请求两次。 (如果用户需要做同样的操作,用户必须生成一个新的TBA头)。