这是我在这个网站上的第一篇文章,请原谅我,如果我屠杀它,但我会尽量做一个明确而直接的前进。
我正在尝试使用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>";
}
答案 0 :(得分:2)
好的,所以我设法在这个网站的其他地方找到答案。不是故意用这里已经存在的答案发布问题。我确实试图先看看,所以我没有这样做。
答案 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
添加到请求网址即可。