401未经API密钥在Google Photos API上未经授权

时间:2018-08-28 21:33:50

标签: google-api google-photos-api

尝试构建Angular 6应用程序以显示特定Google相册中的所有照片。在实现Angular部分之前,我想看看是否可以使用我创建的并允许访问Photos API的API密钥从cURL命令获取数据。

cURL:

 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及其附带的所有其他选项?

1 个答案:

答案 0 :(得分:1)

您需要获取OAuth AccessToken才能添加为请求中的HTTP标头。 Here's a breakdown of the process I've used that has worked,但要注意的是它会定期从mediaItems请求中获取401错误。 Google似乎正在限制这些请求,如果请求处理得太快,则会拒绝一些请求。