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

问题描述 投票:0回答:3

使用

Google+
api,我可以获取有关用户个人资料的所有信息,我的做法是通过在以下地址上调用
GET

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

我在这里输入用户个人资料 ID(用户的 Google ID)和我的 api 密钥。

现在有两种情况:

1) 用户之前设置了 google+ 个人资料,然后我得到了一个包含所有必要数据(例如他的个人资料照片、姓名等)的 json 文件

2)用户之前没有设置 google+ 个人资料,然后我得到如下 json 文件:

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

因此,在用户当前没有 google+ 帐户的情况下,我无法获取他的照片。有没有办法遵守它并以某种方式不从 google+ 获取他的个人资料详细信息?

在我的ios应用程序中,我正在使用谷歌登录功能,它们提供了为登录用户获取数据的可能性(以下是一些详细信息https://developers.google.com/identity/sign-in/ios /people#retriving_user_information ),当我使用它并使用未激活 google+ 的帐户登录我的应用程序时,我仍然可以获取该用户的姓名、照片等。它不是来自 google+,在本例中它来自 GIDGoogleUser 对象。但只有当用户向我提供他的用户名和密码时,我才能构造这个对象。

那么有没有一种方法可以通过提供 google 用户 ID 和 api 密钥来从任何 Google Api 获取数据?

ios google-api google-plus google-signin
3个回答
0
投票

尝试使用:

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

您可以使用 API Explorer 进行测试。您的 OAuth 令牌至少需要

profile
范围。


0
投票

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

可以在此 API 端点通过 SOAP 或 HTTP 调用它:

http://www.avatarapi.com/avatar.asmx

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


0
投票
如何返回不模糊的高分辨率图像作为缩略图

© www.soinside.com 2019 - 2024. All rights reserved.