How to get the user 'contactid' using google API using PHP

一个人想着一个人 提交于 2020-01-11 11:30:04

问题


I am trying to fetch user contacts with all user details uaing the google API 3.0. I am able to get the JSON response with the details of the user.

$url = 'https://www.google.com/m8/feeds/contacts/default/full?max-results='.$max_results.'&alt=json&v=3.0&oauth_token='.$accesstoken;

The result is

   [entry] => Array
            (
                [0] => Array
                    (
                        [id] => Array
                            (
                                [$t] => http://www.google.com/m8/feeds/contacts/sfdhitdf1%40gmail.com/base/1
                            )

                        [gd$etag] => "RXc7fTVSLit7I2A9XRZaEkoLRAw."
                        [updated] => Array
                            (
                                [$t] => 2014-08-29T00:16:24.905Z
                            )

                        [app$edited] => Array
                            (
                                [xmlns$app] => http://www.w3.org/2007/app
                                [$t] => 2014-08-29T00:16:24.905Z
                            )

                        [category] => Array
                            (
                                [0] => Array
                                    (
                                        [scheme] => http://schemas.google.com/g/2005#kind
                                        [term] => http://schemas.google.com/contact/2008#contact
                                    )

                            )

                        [title] => Array
                            (
                                [$t] => abc
                            )

                        [link] => Array
                            (
                                [0] => Array
                                    (
                                        [rel] => http://schemas.google.com/contacts/2008/rel#photo
                                        [type] => image
                                        [href] => https://www.google.com/m8/feeds/photos/media/sachdfwdfd%40gmail.com/1?v=3.0
                                        [gd$etag] => "VWVIH3oyWit7I2B0UBRURzwNBWM8ODs8cSk."
                                    )

                                [1] => Array
                                    (
                                        [rel] => self
                                        [type] => application/atom+xml
                                        [href] => https://www.google.com/m8/feeds/contacts/sachitdff%40gmail.com/full/1?v=3.0
                                    )

                                [2] => Array
                                    (
                                        [rel] => edit
                                        [type] => application/atom+xml
                                        [href] => https://www.google.com/m8/feeds/contacts/sachidtfd%40gmail.com/full/1?v=3.0
                                    )

                            )

                        [gd$name] => Array
                            (
                                [gd$fullName] => Array
                                    (
                                        [$t] => abc xyz 
                                    )

                                [gd$givenName] => Array
                                    (
                                        [$t] => abc
                                    )

                                [gd$familyName] => Array
                                    (
                                        [$t] => xyz
                                    )

                            )

                        [gd$email] => Array
                            (
                                [0] => Array
                                    (
                                        [address] => abi9@gmail.com
                                        [primary] => true
                                        [rel] => http://schemas.google.com/g/2005#other
                                    )

                            )

                        [gContact$website] => Array
                            (
                                [0] => Array
                                    (
                                        [href] => http://www.google.com/profiles/104048264070958665151
                                        [rel] => profile
                                    )

                            )

                        [gContact$groupMembershipInfo] => Array
                            (
                                [0] => Array
                                    (
                                        [deleted] => false
                                        [href] => http://www.google.com/m8/feeds/groups/sachitaware

                            )

                    )

But here I dont get the contact image of the user.The documentation says I need a contact id for getting the photo,but I dont get a contact id in the response above.How can I get the contact id of the user and subsequently his contact photo?

I have authorized the app using oauth 2.0 and apart from image I get most of the details of the contact.

EDIT: I tried this way from the documentation and it works,but it returns the binary image instead of the image URL and I have to send another request to get the image.

 $url1   ='https://www.google.com/m8/feeds/photos/media/{useremail}/13444?       v=3.0&oauth_token='.$accesstoken;
 $xmlresponse1 =  curl($url1);

To display the image:

 <img src="data:image/*;base64,<?php echo base64_encode($xmlresponse1); ?> />

Can't I get the contact image URL something like facebook returns?


回答1:


According the documentation, contactIid is returned in the contact entry URL returned by the API:

http://www.google.com/m8/feeds/contacts/<userEmail>/base/<contactId>

So, giving your sample:

http://www.google.com/m8/feeds/contacts/sfdhitdf1%40gmail.com/base/1

We have these values:

userEmail: sfdhitdf1@gmail.com
contactId: 1


来源:https://stackoverflow.com/questions/26428417/how-to-get-the-user-contactid-using-google-api-using-php

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!