【问题标题】:Intercom Rest API search contact (with PHP)Intercom Rest API 搜索联系人(使用 PHP)
【发布时间】:2021-02-25 13:27:20
【问题描述】:

我正在尝试通过他们的 REST API 检索对讲机中的联系人。我正在使用以下代码,但出现以下错误:

代码

        try {

            $postdataarray['query'] = [ "field" => "email","operator" => "=","value" => $value['email']];
            $postData = json_encode($postdataarray);
            $postHeader = [
                'Authorization:Bearer ergergergergergergergerg',
                'Accept: application/json',
                'Content-Type: application/json -d'
            ];
            $curl = curl_init("https://api.intercom.io/contacts/search/");
            curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
            curl_setopt($curl, CURLOPT_POSTFIELDS, $postData);
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, FALSE);
            curl_setopt($curl, CURLOPT_POST, 1);
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
            curl_setopt($curl, CURLOPT_HTTPHEADER, $postHeader);
            $content = curl_exec($curl);
            curl_close($curl);
            echo $content;

        } catch (Exception $e) {

            error_log($e->getMessage());
            
        }

错误

{ "errors": [ { "code": "not_found", "message": "请求的资源不存在;请检查您的路径并重试" } ], "type": "error.list" }

更新 现在我的代码如下所示:

    try {

        $postdataarray['query'] = [ "field" => "email","operator" => "=","value" => $value['email']];
        $postData = json_encode($postdataarray);
        $postHeader = [
            'Authorization:Bearer zefzefzefzefzef',
            'Accept: application/json',
            'Intercom-Version: 2.3',
            'Content-Type: application/json -d'
        ];
        $curl = curl_init("https://api.intercom.io/contacts/search");
        curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
        curl_setopt($curl, CURLOPT_POSTFIELDS, $postData);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_HTTPHEADER, $postHeader);
        $content = curl_exec($curl);
        var_dump ($content);
        curl_close($curl);
      

    } catch (Exception $e) {

        error_log($e->getMessage());

    }

还是不行

【问题讨论】:

  • 您可以尝试将https://api.intercom.io/contacts/search/ 更改为https://api.intercom.io/contacts/search 吗?
  • 还是一样:(
  • 检查您使用的 api 版本,developers.intercom.com/building-apps/docs/… 并尝试添加到您的标头Intercom-Version: 2.3
  • 那是因为你设置了CURLOPT_RETURNTRANSFER, FALSE,因此 curl_exec 只返回 true 或 false
  • 尝试使用 var_dump 而不是 echo

标签: php rest intercom


【解决方案1】:

您正在发送一个帖子请求以检索您应该使用 get 方法的联系人

改变这一行:

curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");

curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "GET");

【讨论】:

    猜你喜欢
    • 2022-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-23
    • 1970-01-01
    • 2020-12-07
    • 1970-01-01
    相关资源
    最近更新 更多