google-api - Google 用户照片 API - 无需身份验证即可获取公共(public)用户照片

标签 google-api google-plus

到目前为止,我们使用 Google Plus API 来获取用户的公开照片。
我们只需要获取照片的用户 ID (as described here)。

现在这个 API 和 Picasa API 已被弃用,我发现的唯一替代方法是使用 Users.photos API (as described here)。

正如您在描述中看到的,此 API 需要授权,尽管已弃用的 API 没有,而且我希望获得的照片是公开的。并非我们的所有用户都使用 Google 登录,但我希望能够向所有人展示使用 Google 登录的用户的公开照片。现在有没有办法做到这一点?

最佳答案

您可以使用 people.get method of the Google People API仅使用用户 ID 即可获取您需要的信息。虽然您可以在没有用户 token 的情况下获取公共(public)信息,但您需要一个 API key 。如果信息不公开,您也将无法获取信息。

您需要准确请求所需的字段。 “名称”和“照片”字段可能对您来说是最重要的,但还有其他可用的。您将获得一组可能的值,每个值都指示它们的来源。您可能需要“PROFILE”的源类型,但您当然可以评估其他类型。

因此,如果您发出请求

GET https://people.googleapis.com/v1/people/101852559274654726533?personFields=names%2Cphotos&key={YOUR_API_KEY}

你会问我的公开资料。你会得到类似的回复
{
 "resourceName": "people/101852559274654726533",
 "etag": "%EgYBAj0DNy4aDAECAwQFBgcICQoLDA==",
 "names": [
  {
   "metadata": {
    "primary": true,
    "verified": true,
    "source": {
     "type": "PROFILE",
     "id": "101852559274654726533"
    }
   },
   "displayName": "Allen “Prisoner” Firstenberg",
   "familyName": "Firstenberg",
   "givenName": "Allen",
   "displayNameLastFirst": "Firstenberg, Allen"
  }
 ],
 "photos": [
  {
   "metadata": {
    "primary": true,
    "source": {
     "type": "PROFILE",
     "id": "101852559274654726533"
    }
   },
   "url": "https://lh5.googleusercontent.com/-RDndFau_En4/AAAAAAAAAAI/AAAAAAAB8CY/sTL9kJMmIgk/s100/photo.jpg"
  }
 ]
}

关于google-api - Google 用户照片 API - 无需身份验证即可获取公共(public)用户照片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54179248/

相关文章:

python - "Insufficient Permission: Request had insufficient authentication scopes"即使是最通用的范围

python - gRPC/proto Google 云客户端库与 GAPIC Google 云客户端库

colors - "Google Plus Red"是什么十六进制颜色代码?

ios - iOS 中的 Google Plus 登录错误

android - 在 Google Glass 上分享 Immersion 的内容?

google-api - 如何启用 Google 云存储免费配额计费

java - 没有为 Content-Type : application/json 定义解析器

javascript - 如何在 google plus 上共享库中的单个图像并附上一些描述?

android - Android 版 Google Plus 邀请

maven - 运行 mvn 服务器时出现错误