17

在我的应用中,我想为用户显示 Google+ 个人资料图片。我发现,在 API 中获取个人资料图片的唯一函数需要一个 userId。但是,我只有他们的电子邮件地址,而不是他们的 Google+ 用户 ID。
此外,不应强迫我想要获取其图像的人登录并授权我的应用程序,因为此人与应用程序的用户大多不相同。

所以我想我需要通过电子邮件获取他们的用户 ID。我通读了 Google+ API 文档,但找不到这样做的方法,但我不敢相信这是不可能的。

所以我的问题是:
如何仅使用电子邮件地址获取 Google+ 用户 ID?
是否有其他 Google API 可以获取个人资料图片?

4

4 回答 4

11

https://www.avatarapi.com/提供了一个 API,它根据 Google 的公开信息从电子邮件地址返回用户的姓名和个人资料图片。

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

此 API 的好处之一是它不需要用户通过 OAUTH 向 Google 进行身份验证,因此这可能正是您正在寻找的。

于 2016-07-31T11:13:28.143 回答
2

您不能仅使用他们的电子邮件地址来执行此操作,但是,如果他们粘贴他们的 Google+ 网址,您可以从网址字符串中解析 id,然后使用公共数据 API获取他们的个人资料图片(和封面图片!) 。网址: https: //plus.google.com/me会将您带到他们的个人资料。

于 2013-01-09T22:19:17.960 回答
0

您可以使用people.search API通过电子邮件地址进行搜索,而无需请求用户进行身份验证。但是,这只会搜索公共个人资料字段,默认情况下该电子邮件不是公共字段。

唯一需要 OAuth 的 API 方法是那些访问私有数据的方法。对于公共数据,您可以使用更简单的API 密钥方法

为了可靠地实现您所描述的内容,您需要使用 Oauth 和 plus.me 范围来获取您想要的信息。但是,这确实需要授权您的应用程序。

于 2013-01-09T21:56:29.723 回答
0

我高度怀疑这是可能的。针对 Google Plus API 的任何类型的查询都需要 OAUTH。更重要的是,我不知道首先通过电子邮件地址查询用户 ID 的方法。

该线程似乎确认这是目前不可能的。

于 2013-01-09T17:50:55.330 回答