4

这是我在这个网站上的第一篇文章,如果我把它杀了,请原谅我,但我会尽量保持清晰和直截了当。

我正在尝试使用 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>";
}
4

2 回答 2

2

好的,所以我设法在本网站的其他地方找到了答案。并不是要发布带有此处已经存在的答案的问题。我确实确实尝试过先环顾四周,所以我没有这样做。

PHP GMAIL 联系人 XML 解析与 DOMDocument 和 cURL

于 2012-08-14T14:29:29.027 回答
1

我使用的另一种解决方案是要求 Google API 使用 JSON 而不是 XML 进行回复。使用 gd: 命名空间解析 XML 变得很棘手。JSON 带有联系人姓名和电子邮件,这成为使用json_decode().

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

只需添加&alt=json到请求 URL。

于 2014-07-09T15:42:18.520 回答