API密钥或访问令牌无效(无法识别的登录名或密码错误)

时间:2013-03-25 13:43:37

标签: salesforce httprequest httpresponse apex-code shopify

我必须在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。

1 个答案:

答案 0 :(得分:0)

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

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