FileMaker cURL问题

时间:2017-08-16 17:25:47

标签: php curl post filemaker

所以我到处寻找,试图找出问题,但我真的没能把它拼凑起来。随着最近的FM 16到来,我们获得了cURL功能,在我使用简单的PHP脚本进行所有处理和使用API​​导入FileMaker之前。

我正在尝试转换它:

$url = 'https://' . $organization . '.qualtrics.com/API/v3/responseexports';
$header = array(
    'X-API-TOKEN: ' . $apiToken,
    'Content-Type: application/json'
);
$postData = array(
    'surveyId' => $surveyId,
    'format' => 'csv',
    'useLabels' => true
);

$d = curl_init();

curl_setopt_array($d, array(
    CURLOPT_URL => $url,
    CURLOPT_HTTPHEADER => $header,
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POSTFIELDS => json_encode($postData)
));

$response = curl_exec($d);

我在FileMaker中的cURL选项如下所示:

  

“ - 请求POST”&   “ - data surveyId = $ surveyID& format = csv& useLabels = true”&   “--header”X-API-TOKEN:$ apiKey \“”&   “--header”“Content-Type:application / json \”“

但我得到的只是该服务器的响应,表示它不理解我的电话。

1 个答案:

答案 0 :(得分:0)

快速回复我的机器,但您需要拆分字符串和变量。像这样:... surveyId =" &安培; $ surveyID& "格式= ...

我还没有看过其余的语法。

编辑:

要查看传递的最终调用是什么,您应该准备好所有内容并将其存储在一个变量中,然后将该变量作为cURL选项传递。如果您有FileMaker Pro Advanced,则可以使用数据查看器检查变量是否有错误。如果没有,您可以将布局上的全局变量作为合并变量放在运行脚本后查看其内容。

设置变量的脚本步骤应该是这样的:

设置Variable $ myHeader(如果你想在脚本之外检查它,请设置$$ myHeader)

Let ([
$surveyID = "MySurveyID";
$apiKey = "MyApiKey"];
  "--request POST --data surveyId=" & $surveyID & "&format=csv&useLabels=true --header \"X-API-TOKEN: " & $apiKey & "\" --header \"Content-Type: application/json\""
)

(您可能已在其他地方定义了$ surveyID和$ apiKey变量。)

修正通话后,我从上面的计算中得到了这个:

--request POST --data surveyId=MySurveyID&format=csv&useLabels=true --header "X-API-TOKEN: MyApiKey" --header "Content-Type: application/json"