为什么当我使用 Postman 时我的 SuiteQL POST 请求有效,但是当我在 VS Code 终端中 cURL 相同的代码时,它会返回'INVALID_LOGIN'



我正试图使用SuiteQL查询工作簿中的客户端实现,但在使用VS代码时遇到了问题。我从SuiteTalk工具下载页面下载了Postman环境模板和集合档案,然后发送了一个测试请求。它返回了一个成功的JSON响应。然后,我尝试在VS Code终端中使用cURL发送相同的示例请求,然后使用节点提取,然后使用名为netsuite rest的npm库。所有这些都返回401"INVALID_LOGIN"。为什么当我使用Postman时它有效,而在其他地方却无效?以下是我的cURL请求示例:

curl --location --request POST 'https://<ACCOUNT_ID>.suitetalk.api.netsuite.com/services/rest/query/v1/suiteql?limit=5' 
--header 'prefer: transient' 
--header 'Content-Type: application/json' 
--header 'Authorization: OAuth realm="<ACCOUNT_ID>",oauth_consumer_key="<CONSUMER_KEY>",oauth_token="<TOKEN>",oauth_signature_method="HMAC-SHA256",oauth_timestamp="<TIMESTAMP>",oauth_nonce="<NONCE>",oauth_version="1.0",oauth_signature="<SIGNATURE>"' 
--header 'Cookie: NS_ROUTING_VERSION=LAGGING' 
--data-raw '{
"q": "SELECT id, companyName, email, dateCreated FROM customer WHERE dateCreated >= '''01/01/2019''' AND dateCreated < '''01/01/2020'''"
}'

我知道这是一个旧线程,但我自己刚刚开始使用NetSuite和Postman。对我来说,当你获得访问令牌时,netsuite Postman查询会很好地工作,并且会在短时间内工作。最终它将失败,此时您需要使用刷新令牌来获得新的访问令牌。然后,将新的访问令牌作为承载令牌添加到查询授权中,然后查询将重新开始工作。

一旦它积极工作,就会有一个神奇的邮差区域=代码段。因此,点击它,然后注意到有一个由许多代码库组成的下拉菜单,它将显示查询的整个代码请求!例如,您可以选择nodeJS-Axios,只需复制代码并将其粘贴到您的网页中。

您必须记住的一件事是,访问令牌将在一段时间后过期,然后您将不得不用新的访问令牌(使用刷新令牌(替换访问令牌。

最新更新