如何使用PHP阅读Google People API返回的联系人数据

时间:2016-04-08 07:37:42

标签: php google-api google-api-php-client google-people

我是Google API的新用户,并希望使用People API来获取用户的所有联系人。 它可以工作,我可以验证用户,我按如下方式调用People API:

$contacts = $peopleService->people_connections->listPeopleConnections('people/me');
  foreach ($contacts as $contactItem) {
  $this->print_r2($contactItem);
  } 

但我获得了一个类型为Google_Service_People_ListConnectionsResponse:

的对象
Google_Service_People_ListConnectionsResponse Object
(
[collection_key:protected] => connections
[internal_gapi_mappings:protected] => Array
    (
    )

[connectionsType:protected] => Google_Service_People_Person
[connectionsDataType:protected] => array
[nextPageToken] => 
[nextSyncToken] => CPDp4aW_KhIBMRjuEioECAAQAQ
[modelData:protected] => Array
    (
        [connections] => Array
            (
                [0] => Array
                    (
                        [resourceName] => people/c3422388075840417635
                        [etag] => AgD+4rTZF6o=
                        [metadata] => Array
                            (
                                [sources] => Array
                                    (
                                        [0] => Array
                                            (
                                                [type] => CONTACT
                                                [id] => 2fc3d288898002f63
                                                [etag] => #AgD+4rTZF6o=
                                            )

                                    )

                                [deleted] => 1
                                [objectType] => PERSON
                            )

                    )

                [1] => Array
                    (
                        [resourceName] => people/107483842333347794768
                        [etag] => btQbbIVcGJ4=
                        [metadata] => Array
                            (
                                [sources] => Array
                                    (
                                        [0] => Array
                                            (
                                                [type] => CONTACT
                                                [id] => 715e58866e51e374
                                                [etag] => #TW+s5999ANk=
                                            )

                                        [1] => Array
                                            (
                                                [type] => PROFILE
                                                [id] => 107483842299147794768
                                            )

                                    )

                                [objectType] => PERSON
                            )

                        [names] => Array
                            (
                                [0] => Array
                                    (
                                        [metadata] => Array
                                            (
                                                [primary] => 1
                                                [source] => Array
                                                    (
                                                        [type] => CONTACT
                                                        [id] => 715e50000e51e374
                                                    )

                                            )

                                        [displayName] => xxxxxxxx
                                        [familyName] => xxxxxx
                                        [givenName] => xxxxxxxxx
                                        [displayNameLastFirst] => xxxxx, xxxxx
                                    )

                                [1] => Array
                                    (
                                        [metadata] => Array
                                            (
                                                [source] => Array
                                                    (
                                                        [type] => PROFILE
                                                        [id] => *************************
                                                    )

                                            )

                                        [displayName] => xxxxxxxxxx
                                        [familyName] => xxxxx
                                        [givenName] => xxxxxxx
                                        [displayNameLastFirst] => xxxxx, xxxxxxx
                                    )

                            )

...... .......

我的问题有点愚蠢:如何使用PHP客户端库读取[modelData:protected]数组,以便得到[连接]。

1 个答案:

答案 0 :(得分:0)

我遇到了与您相同的问题,因为repo明确声明使用v1分支,因此Google开发者网站上的文档似乎不正确。

到目前为止,这是我一直在攻击的内容,这是错误的代码,但希望它会对你有所帮助:

$connections = $service->people_connections->listPeopleConnections('people/me', array(
    'pageSize' => 500,
    'requestMask.includeField' => 'person.names,person.phoneNumbers'
));

foreach($connections->connections as $contact){
    echo("{$contact[names][0][displayName]}<br/>");
}