1

我正在集成 Constant Contact API V3,并且能够添加新联系人并更新现有联系人。但是,我需要确定它们是否已经存在,以便我可以添加新联系人或更新现有联系人。起初我以为我可以使用端点,但是和/contacts/sign_up_form之间的语法略有不同。因此,为什么我需要事先确定是更新还是添加新的,以便我可以使用一组不同的 JSON 数据。/contacts/contacts/sign_up_form

当我执行以下操作时,我得到的只是1它们是否存在。

    // check if email already exists
    $encodedEmail = urlencode($ccEmail);
    $url = 'https://api.cc.email/v3/contacts?status=all&email='.$encodedEmail.'&include_count=false';
    $ch = curl_init();
    $header = array();
    $header[] = 'Accept: application/json';
    $header[] = 'Authorization: Bearer '.$accessToken;
    $header[] = 'Content-Type: application/json';
    $header[] = 'Cache-Control: no-cache';
    $header[] = 'Postman-Token: '.$APIkey;
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    $response = curl_exec($ch);
    curl_close($ch);

根据他们的文档,如果它们不存在,我应该得到一个空数组,如果它们存在,我应该得到一个带有用户数据的对象。请参阅:https ://v3.developer.constantcontact.com/api_guide/contacts_create.html

不知道我在这里缺少什么。我在每次通话时都会刷新访问令牌,所以我知道不是这样,否则我可能会收到未经授权的错误。

编辑: 我取出 curl 请求并将其放在独立页面上以尝试隔离它。如果我在函数所有数据都存在之后立即转储请求curl_exec,但如果我再次尝试访问它,那么得到的输出就是bool(true). 为什么会这样?

4

0 回答 0