gpt4 book ai didi

salesforce - POST 请求无法在 Salesforce 中接收 JSON 响应

转载 作者:行者123 更新时间:2023-12-03 22:17:16 24 4
gpt4 key购买 nike

我正在调用 FluidSurvey 的 API。当我发出 POST 请求时...它会在 fluidSurvey 上发布请求,但我没有收到 JSON 响应。相反,它什么都不返回。有什么建议吗??

我的 Controller 代码

public class fluidSurvey{

public String tst{set;get;}
public String result{get;set;}

public PageReference chk() {
getData();
return null;
}

public void getData(){
String apiKey = 'xxxxxx';
String pwd = 'xxxxxx';
String u = 'https://app.fluidsurveys.com/api/v2/surveys/survey_id/responses/';

HttpRequest req = new HttpRequest();
Http http = new Http();
HTTPResponse res;
try{
req.setEndPoint(u);
req.setTimeout(2000);
req.setMethod('POST');
Blob headerValue = Blob.valueOf(apikey + ':' + pwd);
String authorizationHeader = 'Basic '+ EncodingUtil.base64Encode(headerValue);
req.setHeader('Authorization', authorizationHeader);
req.setHeader('Content-Type', 'application/json');
req.setHeader('Content-Length','31999');

res = http.send(req);
tst= res.toString();



catch(Exception e){
System.debug('Callout error: '+ e);
System.debug(tst+'--------'+res);
}
}

}

Apex页面代码是

<apex:page controller="fluidSurvey">

<apex:form >
<apex:pageBlock title="New Fluid Surveys API">
<apex:outputText value="{!tst}"></apex:outputText><br/>
<apex:pageBlockButtons location="bottom">
<apex:commandButton value="Submit" action="{!chk}"/>
</apex:pageBlockButtons>
</apex:pageBlock>
</apex:form>

和 api 文档链接是 http://docs.fluidsurveys.com/api/surveys.html#getting-a-list-of-surveys ..

最佳答案

这里是 FluidSurveys Dev。

看起来您正在执行 POST 请求,根据文档,该请求用于创建新响应。但是您的函数名为 getData,所以我假设您想要获取响应列表?

将请求类型从 GET 更改为 POST,它应该开始工作。

此外,响应类型将为 application/json,但您不应将请求类型设置为该编码。

如果我弄错了,而您希望提交新的回复,那么此代码将无法工作,因为您实际上并未传递任何内容。正如你所看到的 http://docs.fluidsurveys.com/api/surveys.html#submitting-a-new-response您实际上需要传递问题 ID 和答案的字典。弄清楚 ID 是什么或格式是什么的最好方法是首先查看从 GET 请求返回的响应。

关于salesforce - POST 请求无法在 Salesforce 中接收 JSON 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16082098/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com