在我的应用中,我想为用户显示Google+个人资料图片。 我发现,在API中获取配置文件图片的唯一功能需要userId。 但是,我只有他们的电子邮件地址,而不是他们的Google+用户ID 此外,我想要获取其形象的人不应该被迫登录并授权我的应用程序,因为此人与应用程序的用户大多不同。
所以我想我需要通过电子邮件获取他们的userId。我阅读了Google+ API文档,但找不到办法,但我无法相信这是不可能的。
所以我的问题是:
如何只使用电子邮件地址获取Google+用户ID?
是否有其他Google API可以获取个人资料图片?
答案 0 :(得分:7)
https://www.avatarapi.com/提供了一个API,它根据Google的公开信息从电子邮件地址返回用户的姓名和个人资料照片。
可以在此API端点通过SOAP或HTTP调用它: https://www.avatarapi.com/avatar.asmx
此API的一个好处是,它不要求用户通过OAUTH通过Google进行身份验证,因此这可能正是您所寻找的。 p>
答案 1 :(得分:2)
您不能仅使用他们的电子邮件地址执行此操作,但是,如果他们粘贴了他们的Google+网址,您可以解析网址字符串中的ID,然后使用{{3获取他们的个人资料图片(和封面图片!) }}。网址:public data API会将您带到他们的个人资料中。
答案 2 :(得分:0)
我非常怀疑这是可能的。任何针对Google Plus API的查询都需要OAUTH。更重要的是,我不知道如何通过电子邮件地址查询用户ID。
This thread似乎确认目前无法做到这一点。
答案 3 :(得分:0)
您可以使用people.search API按电子邮件地址进行搜索,而无需请求用户进行身份验证。但是,这只会搜索公共个人资料字段,默认情况下,该电子邮件不是公共字段。
唯一需要OAuth的API方法是访问私有数据的方法。对于公共数据,您可以使用更简单的API key method。
为了可靠地实现您所描述的内容,您需要使用Oauth和plus.me范围来获取所需的信息。这确实需要授权您的应用。