繁体   English   中英

Google Contacts API PHP curl检索联系人

[英]Google Contacts API PHP curl retrieving contacts

我使用Google Calendar API已有很多年了,并取得了巨大的成功。 我使用curl使用来自php的请求。

我一直在尝试使用通讯录api实现相同的目的。 目前,我想做的就是为一个通过OAuth2检索到令牌的用户将联系人列表作为json检索。 我正在使用下面的简单代码进行测试。

 $accessToken = "thebiglongaccesstoken1234";
 $userMail = "useremail@somewhere.com";
 $requestURL ="https://www.google.com/m8/feeds/contacts/".$userMail."/full?v=3.0&alt=json";
 $headers = array("Authorization: OAuth ".$accessToken);

 $ch = curl_init();

 curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); 
 curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
 curl_setopt($ch, CURLOPT_URL, $requestURL);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

 $response = curl_exec($ch);
 $responseArray = json_decode($response, TRUE);

 var_dump($responseArray);
 print '<br/>Response: <pre>' . print_r($responseArray, true) . '</pre>';
 print 'curl Error: <pre>' . print_r(curl_error($ch), true) . '</pre>';

浏览器中的响应是:

NULL响应:curl错误:

我可以收到此请求,以便在Google OAuth 2.0操场上工作。

我不想使用库,因为我最终要做的就是通过电子邮件地址查找用户联系人以获取电话号码。 我为日历创建了自己的函数库,因此不想添加多余的未使用内容。 它只需要几行代码。

我想我只是盯着它太久了,而错过了明显的地方。 任何帮助表示赞赏。

更新:

我用curl_getinfo()

数组([url] => https://www.google.com/m8/feeds/contacts/myemail@gmail.com/full?v=3.0&alt=json [content_type] => text / html; charset = utf- 8 [http_code] => 401 [header_size] => 457 [request_size] => 208 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0.1244 [namelookup_time] => 0.000837 [connect_time] => 0.00306 [pretransfer_time] => 0.015428 [size_upload] => 0 [size_download] => 11875 [speed_download] => 95458 [speed_upload] => 0 [download_content_length] => -1 [upload_content_length] => 0 [ starttransfer_time] => 0.123992 [redirect_time] => 0 [certinfo] =>数组()

看到它是401,我注意到您的授权标头不太正确。 将您的Authorization标头更改为"Authorization: Bearer " . $accessToken "Authorization: Bearer " . $accessToken而不是"Authorization: OAuth " . $accessToken "Authorization: OAuth " . $accessToken

如果您仍然收到401,则需要获取新的访问令牌。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM