0

在节点js中使用REST参考Google云端存储我在postman中得到了这个错误,我得到以下错误。 网址: https://datastore.googleapis.com/v1/projects/ {}专案编号:allocateIds Requset身体:GCP CLoudStore REST参考

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

回答

1

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

因此,假设这是公开数据,请尽量减少工作量:获取an API key,然后在您的URL中追加一个“key = myKey”查询参数。

验证指南:https://cloud.google.com/docs/authentication/

+1

只是想addthatin命令,如果你不使用任何谷歌计算引擎或谷歌应用程序引擎,通过API使用GCS。有必要创建一个服务帐户,从那里你可以下载密钥在XML或JSON。如果您使用的是GAE或GCE,则可以像Brandon所述的那样创建API密钥或使用服务的默认凭证。 –

+0

我试过用钥匙得到了同样的错误。 –

+0

@VinodKumarMarupu - 您可能需要提供身份验证。快速测试这个方法是使用gcloud工具。运行'gcloud auth print-access-token'。将结果放入请求标题,如“Authorization:Bearer ya29.whateverxxxxxxxxxxxxxxxxxxxxxxx” –