所以,我正在尝试使用eBay API。我应该提一下,从一开始我就遇到了跨源请求的问题,但是我得到了一个CORS chrome add,它应该禁用它,并且对于获取用户身份验证令牌的初始请求工作正常。我根本不知道后端编程,但我听说你可以使用代理来处理CORS问题。我尝试下载了一些不同的代理脚本,但似乎都没有正确发送标题。
当我使用cURL发出请求时,一切正常。但是当我尝试使用xmlhttprequest在javascript中发出相同的请求时,它会一直告诉我它缺少授权标题,当我清楚地设置它们时。任何人都知道为什么它可能会说缺少授权标题?
这是我正在尝试使用的xmlhttprequest:
var xhr2 = new XMLHttpRequest();
xhr2.onreadystatechange = function() {
if(xhr2.readyState === 4) {
console.log(xhr2.responseText);
}
}
xhr2.open('PUT', 'https://api.sandbox.ebay.com/sell/inventory/v1/inventory_item/testingItemSKU1234');
xhr2.setRequestHeader('Authorization', 'Bearer <token>');
xhr2.setRequestHeader('Content-Language', 'en-US');
xhr2.setRequestHeader("Content-Type", "application/json");
var reqBody2 = "request body info";
xhr2.send(reqBody2);
编辑:
以下是回复
{
"errors" : [ {
"errorId" : 1002,
"domain" : "OAuth",
"category" : "REQUEST",
"message" : "Missing access token",
"longMessage" : "Access token is missing in the Authorization HTTP request header."
} ]
}
这是有效的cURL命令:
curl.exe -X PUT "https://api.sandbox.ebay.com/sell/inventory/v1/inventory_item/testitemSKU1234"
-H "Content-Language: en-US" -H "Content-Type:application/json"
-H "Authorization: Bearer <token>" -d "request body"