【问题标题】:GCP CLoudStore REST referenceGCP CLoudStore REST 参考
【发布时间】:2018-01-09 21:35:30
【问题描述】:

在节点 js 谷歌云存储中使用 REST 引用我在邮递员中收到此错误,我收到以下错误。 网址: https://datastore.googleapis.com/v1/projects/{projectId}:allocateIds 请求正文:

 {
"keys": [
{
  "partitionId": {
    "namespaceId": "default",
    "projectId": "superb-watch-172816"
  },
  "path": [
    {
      "kind": "User50records"
    }
  ]
}
]}

我收到了这个错误:

{ "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" } }

【问题讨论】:

    标签: node.js google-cloud-datastore google-cloud-storage google-api-nodejs-client gcp


    【解决方案1】:

    不允许真正匿名调用 Cloud Datastore。您必须以某种方式向服务器表明自己的身份。最低限度是附加一个 API 密钥,这基本上是声称您与某个项目或其他项目相关联。如果您正在访问任何人都无法公开查看的数据,您还需要提供某种身份验证,这通常通过 OAuth 完成。

    因此,假设这是公共数据,只需最少的工作量:获取 an API key,然后将“key=myKey”查询参数附加到您的 URL。

    授权指南:https://cloud.google.com/docs/authentication/

    【讨论】:

    • 只是想补充一点,以便通过 API 使用 GCS,如果您不使用 Google Compute Engine 或 Google App Engine。有必要创建一个服务帐户,您可以从那里下载 XML 或 JSON 格式的密钥。如果您使用的是 GAE 或 GCE,则可以按照 Brandon 的说明创建 API 密钥或使用服务的默认凭据。
    • @VinodKumarMarupu - 您可能需要提供身份验证。一个快速的测试方法是使用 gcloud 工具。运行gcloud auth print-access-token。将结果放入请求标头中,例如“Authorization: Bearer ya29.whateverxxxxxxxxxxxxxxxxxxxxxxx”
    • @BrandonYarbrough 对我有用,在运行 datastore.googleapis.com/v1/projects/xxx:runQuery api 时,我得到了数据 { "batch": { "entityResultType": "PROJECTION", "endCursor": "CgA=", " moreResults": "NO_MORE_RESULTS" } } 如何查看实体的实际数据?
    • @Nilo_DS 是正确的。您需要从 Google API 控制台设置服务帐户,并使用其凭据通过 Cloud Datastore REST API 进行身份验证。以下是设置服务帐户指南的链接:developers.google.com/identity/protocols/OAuth2ServiceAccount
    • @BrandonYarbrough 你能帮帮我吗stackoverflow.com/questions/45553555/…
    猜你喜欢
    • 1970-01-01
    • 2010-12-02
    • 1970-01-01
    • 2021-01-29
    • 2010-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多