使用
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 获取数据?
http://www.avatarapi.com/提供了一个API,它根据Google的公开信息返回用户的姓名和个人资料图片。
可以在此 API 端点通过 SOAP 或 HTTP 调用它:http://www.avatarapi.com/avatar.asmx
此 API 的好处之一是它不需要用户通过 Google 进行身份验证,因此这可以解决用户没有 Google+ 帐户的问题。