如何从Google(而不是从Google+)获取用户个人资料照片?

使用Google+ API我能够获取有关用户个人资料的所有信息,以及我正在做的方式是通过调用以下地址的GET

 https://www.googleapis.com/plus/v1/people/11812536713708...432 ?key=AIzaSyC_bs...gds353le 

在这里,我把用户configuration文件ID(用户的谷歌身份证)和我的API密钥。

现在有两种情况:

1)用户之前build立了一个谷歌+configuration文件,然后我得到一个JSON文件与所有必要的数据(如他的个人资料照片,名称等)

2)用户之前没有设置一个谷歌+configuration文件,然后我得到的json文件如下:

 { "error": { "errors": [ { "domain": "global", "reason": "notFound", "message": "Not Found" } ], "code": 404, "message": "Not Found" } } 

所以在用户目前还没有Google +帐户的情况下,我无法获取他的照片。 有没有一种服从它的方式,不知何故从google +获取他的个人资料的详细信息?

在我的iOS应用程序中,我使用的是谷歌loginfunction,它们提供了为login用户提取数据的可能性(以下是一些细节https://developers.google.com/identity/sign-in/ios/people #retrieving_user_information ),当我使用它并login到我的应用程序与没有激活的谷歌+的帐户,我仍然能够获取该用户的名字,照片等。它不是来自谷歌+,在这种情况下它来自GIDGoogleUser对象。 但是,只有当用户提供我的用户名和密码时,我才能构build这个对象。

那么有没有办法通过提供谷歌用户ID和API密钥从任何谷歌API获取数据?

尝试使用:

 https://www.googleapis.com/userinfo/v2/me 

你可以使用API Explorer来testing。 至less,您的OAuth令牌需要profile范围。

有一个由http://www.avatarapi.com/提供的API,根据Google的公开信息返回用户的名字和个人资料图片。

可以在此API端点通过SOAP或HTTP调用它: http : //www.avatarapi.com/avatar.asmx

此API的好处之一是不需要用户通过Google进行身份validation,因此可以解决用户没有Google+帐户的问题。