我正在构建NetSuite和PayTrace信用卡处理服务之间的集成。从PayTrace获得身份验证密钥没有问题。但是,由于某些原因,在使用nlapiRequestURL(url、postData、header、httpMethod)发送请求时,我会得到一个401错误,响应标头信息中的“访问令牌无效”的值。但是,如果我在“邮递员”中使用相同的令牌提出同样的请求,它的工作原理也是一样的。下面是我添加到请求中的请求头示例(如PayTrace API文档中所示):
[
{ "Authorization" : "Bearer XXXXXXXXXX:XXXXXXXXXX:XXXXXXXXXX" }
, { "Content-Type" : "application/json" }
, { "Cache-Control" : "no-cache" }
]邮递员是否有可能添加了一个标头值,允许NetSuite不进行正确的身份验证?在我的生活中,我不太明白为什么一个有效的令牌不会从一个系统中被接受,而是从一个不同的系统中被接受。我能够从Postman中提取这些额外的标头值,如果它们对解决这个问题很有用的话:
[
{ "User-Agent" : "PostmanRuntime/7.21.0" }
, { "Accept" : "*/*" }
, { "Postman-Token" : "96d421d7-c47b-4c58-8462-aece865bc673" }
, { "Host" : "api.paytrace.com" }
, { "Accept-Encoding" : "gzip, deflate" }
, { "Content-Length" : "401" }
, { "Cookie" : "BIGipServeriAPP-paytraceAPI.app~iAPP-paytraceAPI_pool=!QQe1sQcLLr7QlVc1dGILKzdv552p1+6KLUz7ZVVyyyi2jm4f32eA463wj2bBLYLGBMTo5UmUvj4DzNk=; TS0179310f=01bb9fcf1ed38f2fe502d18776cc42820b00dd85ced785a7a00c8aa2120628c8b485e498ef8a8cacad2fe52a52612a9c6c8aee023b02bca74bc7716a8e066a85df49c4acfa" }
, { "Connection" : "keep-alive" }
]我一点也不确定NetSuite为这些HTTP请求添加了哪些标头。
发布于 2020-01-10 22:35:27
我再一次自己想办法。我把头作为标题名称/值对对象的数组传入,但它只是一个名称/值对头信息的单个对象。解决了问题。我不知道为什么我不正确地那样做,因为我已经做了无数次这样的事情。也许我需要休假..。
https://stackoverflow.com/questions/59689293
复制相似问题