对于数据存储区javascript API,公共API访问不能与gapi.client一起使用

时间:2015-06-22 15:17:34

标签: javascript google-cloud-datastore gapi

我是谷歌云数据存储的新手。我目前正在尝试使用我在开发人员控制台创建的API密钥来查询我的数据集。下面是我调用数据存储区API的代码片段(我使用的是gapi.client):

gapi.client.setApiKey('API_KEY');
gapi.client.load('datastore', 'v1beta2').then(function() { 
    console.log('loaded.'); 
    gapi.client.datastore.datasets.runQuery({'datasetId' : 'myProjectId','gqlQuery': {  'queryString': 'select * from locationReport'}}).then(function(resp) {
            console.log(resp.result);
        }, function(reason) {
            console.log('Error: ' + reason.result.error.message);}
        );
});

这回复了我的回复:

回复标题:

HTTP/1.1 401 Unauthorized
Vary: Origin
Vary: X-Origin
WWW-Authenticate: Bearer realm="https://accounts.google.com/"
Content-Type: text/html; charset=UTF-8
Content-Encoding: gzip
Date: Mon, 22 Jun 2015 14:49:06 GMT
Expires: Mon, 22 Jun 2015 14:49:06 GMT
Cache-Control: private, max-age=0
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Server: GSE
Alternate-Protocol: 443:quic,p=1
Transfer-Encoding: chunked

回复机构:

  

需要登录

虽然提到here可以使用公共API访问数据,但我仍然无法这样做。

请帮我解决这个问题。让我知道是否有可能或者是否有其他方法可以从数据存储中检索数据而无需像OAuth那样的用户权限

1 个答案:

答案 0 :(得分:5)

Cloud Datastore API读取和写入私有用户数据,因此需要OAuth 2.0凭据。 This page有关于如何使用JavaScript客户端执行此操作的其他信息。