Google通讯录API名称和电子邮件

时间:2012-08-08 23:23:18

标签: php google-contacts

这是我在这个网站上的第一篇文章,请原谅我,如果我屠杀它,但我会尽量做一个明确而直接的前进。

我正在尝试使用Google Contacts API从经过身份验证的用户Gmail帐户导入名称和电子邮件地址。我使用Google自己提供的通用代码获取电子邮件地址。我试图修改它以获取联系人名称也无济于事。任何帮助将不胜感激。以下是我目前使用的代码。

$xml =  new SimpleXMLElement($val->getResponseBody());

$xml->registerXPathNamespace('gd', 'http://schemas.google.com/g/2005');
$result = $xml->xpath('//gd:email');

$name_result = $xml->xpath('//title');

foreach ($result as $title) {
    echo "<div>".$title->attributes()->address."</div>";
}

foreach ($name_result as $name) {
        echo "<div class='contact_alt'>".$name."</div>";
}

2 个答案:

答案 0 :(得分:2)

好的,所以我设法在这个网站的其他地方找到答案。不是故意用这里已经存在的答案发布问题。我确实试图先看看,所以我没有这样做。

PHP GMAIL Contacts XML Parsing with DOMDocument and cURL

答案 1 :(得分:1)

我使用的替代解决方案是要求Google API使用JSON而不是XML进行回复。使用gd:namespace解析XML变得棘手。 JSON带有联系人姓名和电子邮件,这就变成了使用json_decode()

的问题
$url = 'https://www.google.com/m8/feeds/contacts/%s/full'
$url .= '&access_token=%s'
$url .= &alt=json;

只需将&alt=json添加到请求网址即可。