首页 > 解决方案 > 未经授权的 Google People API

问题描述

我想获得自己的 Google 联系人,所以我阅读了People API 文档,在“获取和使用 API 密钥”下的“授权请求”部分,它说:

API 密钥:不提供 OAuth 2.0 令牌的请求必须发送 API 密钥。密钥标识您的项目并提供 API 访问、配额和报告。

API 支持对 API 密钥的多种类型的限制。如果您需要的 API 密钥尚不存在,则通过单击Create credentials > API key 在控制台中创建一个 API 密钥。您可以在生产中使用之前限制密钥,方法是单击限制密钥并选择其中一项限制

所以这看起来很容易,我去了项目页面并创建了一个不受限制的 API 密钥,然后我可以创建这个请求 URL:https://people.googleapis.com/v1/people/me?key=API_KEY&personFields=names,正如此声明所建议的,URL 中的 API 密钥。

获得 API 密钥后,您的应用程序可以将查询参数 key= yourAPIKey 附加到所有请求 URL。

但是当我运行我在返回之前发布的 URL 时:

{
    "error": {
        "code": 401,
        "message": "The request does not have valid authentication credentials.",
        "status": "UNAUTHENTICATED"
    }
}

我究竟做错了什么?:(

标签: google-people-api

解决方案


原来解决方案非常简单,我觉得很愚蠢,不可能使用 API 密钥访问您自己的 Google 联系人或任何其他私人数据,如果您尝试访问任何私人数据,您应该使用 OAuth 2.0 和不是 API 密钥(与您可以使用 API 密钥的公共 YouTube 播放列表不同)。感谢@Mateo Randwolf


推荐阅读