Google通讯录API获取所有联系方式(php)

时间:2016-07-26 06:43:24

标签: php google-api google-contacts

我使用Google通讯录API,我可以提取姓名和电子邮件地址,电话号码,图片,但我也希望获得联系地址,注意以及如何提取电子邮件作为工作或家庭

我使用PHP并在验证时使用了我的代码:

$document = new DOMDocument();
$document->loadXml($xmlresponse);
$xpath = new DOMXpath($document);
$xpath->registerNamespace('atom', 'http://www.w3.org/2005/Atom');
$xpath->registerNamespace('gd', 'http://schemas.google.com/g/2005');

foreach ($xpath->evaluate('/atom:feed/atom:entry') as $entry) {
  $contact = [
    'name' => $xpath->evaluate('string(atom:title)', $entry),
    'image' => $xpath->evaluate('string(atom:link[@rel="http://schemas.google.com/contacts/2008/rel#photo"]/@href)', $entry),
    'emails' => [],
    'numbers' => [],
    'conatctaddress' => []
  ];
  foreach ($xpath->evaluate('gd:email', $entry) as $email) {
    $contact['emails'][] = $email->getAttribute('address');
  }
  foreach ($xpath->evaluate('gd:phoneNumber', $entry) as $number) {
    $contact['numbers'][] = trim($number->textContent);
  }

}

如何获取联系地址。他们(谷歌api)提到格式化地址,structuredPostalAddress但不知道如何获取,也发现它是在家还是工作

修改

正如下面提到的那样,我得到的是xml响应,但响应并不完整。因为联系方式还包含出生日期,周年纪念日,网站详细信息,因此无法通过

获取此详细信息

https://www.google.com/m8/feeds/contacts/default/full?&oauth_token=abcdferyyrfyfyt以及我得到的剩余数据是

<gd:organization rel='http://schemas.google.com/g/2005#other'><gd:orgName>comright</gd:orgName><gd:orgTitle>software developer</gd:orgTitle></gd:organization> 因此,当我尝试将foreach loop与电子邮件相同时,我会在一个变量中获得orgNameorgTitle

1 个答案:

答案 0 :(得分:0)

您可以将GET方法用于网址端点&#34; https://www.google.com/m8/feeds/contacts/ {userEmail} / full&#34;从谷歌检索联系人。您也可以查看link。它会对您有所帮助。