在php google contact api中获取<gd:name>而不是<title>

时间:2016-11-02 20:44:41

标签: php google-contacts

&lt; p&gt;我尝试了不同的方法来获取像familyName或givenName这样的数据的结构化数据......但是我失败了。&lt; / p&gt; &lt; p&gt;例如,我尝试修改此代码&lt; a href =“https://github.com/rapidwebltd/php-google-contacts-v3-api/blob/master/factories/ContactFactory.php"rel = “nofollow noreferrer”&gt; rapidwebltd / php-google-contacts-v3-api&lt; / a&gt;&lt; / p&gt; &lt; p&gt;以下是一个示例:&lt; / p&gt; &LT;预&GT;&LT;代码&GT; $ contactGDNodes = $ xmlContactsEntry-&GT;儿童( 'http://schemas.google.com/g/2005'); foreach($ contactGDNodes as $ key =&gt; $ value){     开关($ key){         案件'组织':             $ contactDetails [$ key] ['orgName'] =(string)$ value-&gt; orgName;         $ contactDetails [$ key] ['orgTitle'] =(string)$ value-&gt; orgTitle;         打破;         / *案例'名称':                 $ contactDetails ['sName'] ['familyName'] =(string)$ value-&gt; familyName;                 $ contactDetails ['sName'] ['givenName'] =(string)$ value-&gt; givenName;                 $ contactDetails ['sName'] ['fullName'] =(string)$ value-&gt; fullName;                 打破;             案例'structuredPostalAddress':                 $ contactDetails [$ key] ['city'] =(string)$ value-&gt; city;                 打破; * /         案例'电子邮件':             $属性= $值 - &GT;属性();         $ emailadress =(string)$ attributes ['address'];         $ emailtype = substr(strstr($ attributes ['rel'],'#'),1);         $ contactDetails [$键] [$ EMAILTYPE] = $的emailadress;         打破; &LT; /代码&GT;&LT; /预&GT; &lt; p&gt;'组织'或'电子邮件'的数据完美无缺。在评论中我添加的代码是“无意义的”,因为数据不可用。实际上,使用var_dump $ contactGDNodes,我清楚地看到我正在寻找的数据不存在...你知道我缺少什么吗?&lt; / p&gt; &lt; p&gt;非常感谢&lt; / p&gt;

2 个答案:

答案 0 :(得分:0)

快速浏览一下您正在使用的“v3”库,表明它实际上是将请求发送到 版本1 API,而不是版本3.将URL = 3添加到URL参数列表以调用包含该名称的正确版本。如果原始XML响应中没有名称,则联系人本身没有名称。

答案 1 :(得分:0)

对于那些对同一问题感兴趣的人,必须像这样实施?v = 3:

$req = new \Google_Http_Request('https://www.google.com/m8/feeds/contacts/default/full?v=3&max-results=10000&updated-min=2007-03-16T00:00:00');