0

I am new to the google API and would like to use the People API for obtaining all the contacts of a user. It works, I can authenticate the user and I call the People API as follows:

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

But I obtain an object of type 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
                                    )

                            )

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

My question is kinda stupid: how do I read, using the PHP client library, the [modelData:protected] array so I can the resulting [connections].

Linda Lawton - DaImTo
  • 106,405
  • 32
  • 180
  • 449

1 Answers1

0

I'm having the same issues as you, the documentation on Google's developer site seems to be incorrect given that the repo explicitly states to use the v1 branch.

This is what I've hacked together so far, it's bad code, but hopefully it will help you:

$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/>");
}
arychj
  • 711
  • 3
  • 21