我必须在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。
答案 0 :(得分:0)
“基本”字区分大小写。我用它改变了“BASIC”。问题已解决。
Blob headerValue = Blob.valueOf('apikey:password');
String authorizationHeader = 'Basic ' + EncodingUtil.base64Encode(headerValue);
req.setHeader('Authorization', authorizationHeader);