0

我必须在 Salesforce 中向 Shopify 发出 http 请求。我使用以下 url 格式作为 setEndpoint 方法的端点 url。

HttpRequest req= new HttpRequest(); 
req.setEndpoint('https://apikey:password@hostname/admin/resource.xml'); 
req.setMethod('GET'); 

我得到以下日志:

CALLOUT_RESPONSE|[18]|System.HttpResponse[Status=Unauthorized, StatusCode=401]

我从 HttpResponse 的正文中获取返回值:

<?xml version="1.0" encoding="UTF-8"?> <hash> <errors>[API] Invalid API key or access token (unrecognized login or wrong password)</errors> </hash>

我也尝试过遵循结构,但我没有成功。

Blob headerValue = Blob.valueOf(apikey+ ':' + password);
String authorizationHeader = 'BASIC ' +
EncodingUtil.base64Encode(headerValue);
req.setHeader('Authorization', authorizationHeader);

HttpResponse 状态码为 200 我该怎么办。

4

1 回答 1

0

“基本”字区分大小写。我用它改变了“BASIC”。问题已解决。

Blob headerValue = Blob.valueOf('apikey:password');
    String authorizationHeader = 'Basic ' + EncodingUtil.base64Encode(headerValue);
    req.setHeader('Authorization', authorizationHeader);
于 2013-03-26T13:51:08.510 回答