401 未授权 Google 照片 API 使用 API 密钥

401 Unauthorized on Google Photos API with API Key

正在尝试构建一个 Angular 6 应用程序来显示特定 Google 相册中的所有照片。在实施 Angular 部分之前,我想看看我是否可以使用我创建的 API 密钥从 cURL 命令获取数据并授予对照片 API.[=16 的访问权限=]

卷曲:

 curl -X GET \
  'https://photoslibrary.googleapis.com/v1/mediaItems?pageSize=1&key=[API KEY]' \
  -H 'Accept: application/json' \

这基于 Google 文档中的样本:https://developers.google.com/photos/library/reference/rest/v1/mediaItems/list

但是,添加我的有效 API 密钥会导致以下错误:

{
    "error": {
        "code": 401,
        "message": "Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
        "status": "UNAUTHENTICATED"
    }
}

除了 API 密钥之外,是否还需要其他数据才能使其正常工作?甚至可以以这种方式使用 API 密钥,还是需要使用 OAuth 2.0 以及它附带的所有附加功能?

您需要获取 OAuth AccessToken 以作为 HTTP Header 添加到您的请求中。 Here's a breakdown of the process I've used that has worked,需要注意的是它会定期从 mediaItems 请求中收到 401 错误。似乎 Google 正在限制请求并拒绝一些请求,如果它们来得太快。