Google通讯录API - 选择活动数据

时间:2011-09-09 04:49:20

标签: php xml api google-api

我正在尝试获取基于谷歌联系人“事件”(即:周年纪念日等)的信息,“他们似乎将它们称为'事件'”。

所以,没有。我已经能够以缩短的清理格式获取一些数据。 这是我正在使用的XML来获取此信息。

[13] => Zend_Gdat

a_App_Extension_Element Object
        (
            [_rootElement:protected] => event
            [_extensionElements:protected] => Array
                (
                    [0] => Zend_Gdata_App_Extension_Element Object (
                            [_rootElement:protected] => when
                            [_extensionAttributes:protected] => Array (
                                    [startTime] => Array (
                                            [namespaceUri] => 
                                            [name] => startTime
                                            [value] => 2009-05-09))
                            [_text:protected] => 
                        )
                )

            [_extensionAttributes:protected] => Array (
                    [rel] => Array (
                            [namespaceUri] => 
                            [name] => rel
                            [value] => anniversary ))
            [_text:protected] => 
        )

所以我到目前为止使用此代码获取了事件类型。

//    Get All Events
foreach ($xml->event as $e) {                       
    if($e['rel'] == "anniversary") {
        // echo "This is true, this is anniversary";
    }
}

并获取实际的事件值(开始时间)。我想我会在每个循环中运行这样的东西。

foreach ($xml->event as $e) {                       
    echo $e->when['startTime'];
}

但这只是echo的NULL。 虽然我不确定是不是因为我的过度疲劳,但我已经尝试了许多变化并且似乎无法获得它。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

我能够找到解决方案。

//    Get All Events
foreach ($xml->event as $e) {
    $defaults = $e->children('http://schemas.google.com/g/2005'); 

    if($e['rel'] == "anniversary") {
        $obj->anniversary = (string) $defaults->when->attributes()->startTime;
    }
}