开发者社区> 问答> 正文

如何使用PHP删除单个Gmail联系人

我正在使用此脚本尝试从GMAIL删除联系人,但无法删除。

我指的是:https : //developers.google.com/glass/v1/reference/contacts/delete

我的剧本:

$id = '******'; 
$contact_mail = '********';
$contact_id = '************';

$contactXML = '<?xml version="1.0" encoding="utf-8"?>
<entry gd:etag="*">
<id>http://www.google.com/m8/feeds/contacts/'.$contact_mail.'/base/'.$contact_id.'</id>
<category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/contact/2008#contact"/>
<link rel="self" type="application/atom+xml" href="https://www.google.com/m8/feeds/contacts/'.$contact_mail.'/full/'.$contact_id.'"/>
<link rel="edit" type="application/atom+xml" href="https://www.google.com/m8/feeds/contacts/'.$contact_mail.'/full/'.$contact_id.'"/></entry>'; 

    $headers = array(
    'Host: www.google.com',
    'Gdata-version: 3.0',
    'Content-length: '.strlen($contactXML),
    'Content-type: application/atom+xml',
    'Authorization: OAuth '.$access_token
    );

    $contactQuery = 'https://www.google.com/m8/feeds/contacts/default/full/'.$contact_id.'';

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $contactQuery );
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $contactXML);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_FAILONERROR, true);
    $result = curl_exec($ch);           
    print_r($result);

展开
收起
游客ufivfoddcd53c 2020-01-04 19:15:12 1074 0
1 条回答
写回答
取消 提交回答
  • 1.您的OAuth标头不正确。更改Authorization: OAuth ...为Authorization: Bearer ...

    2.删除请求不包含内容。

    2020-01-04 19:15:54
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-深入浅出网络编程与swoole内核-吴镇宇 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载