谷歌云存储Javascript匿名上传

谷歌云存储Javascript匿名上传,javascript,google-app-engine,google-api,google-cloud-storage,google-authentication,Javascript,Google App Engine,Google Api,Google Cloud Storage,Google Authentication,我想使用GCS在我的Cordova应用程序中存储用户拍摄的照片。我有一个首要问题:我不知道如何正确地使用地面军事系统来达到这个目的。文档中的每个可用示例(或仅用于身份验证过程)都需要从客户端的Google帐户提供凭据,以便能够使用JSON API。我不想那样。基本上,我希望每个连接到我的应用程序的人都能够免费上传到想要的bucket。我想为我的应用程序的每个用户发放代币,等等。。。但首先我需要能够上传一些东西,对吗 我目前的状态是: function init() { g

我想使用GCS在我的Cordova应用程序中存储用户拍摄的照片。我有一个首要问题:我不知道如何正确地使用地面军事系统来达到这个目的。文档中的每个可用示例(或仅用于身份验证过程)都需要从客户端的Google帐户提供凭据,以便能够使用JSON API。我不想那样。基本上,我希望每个连接到我的应用程序的人都能够免费上传到想要的bucket。我想为我的应用程序的每个用户发放代币,等等。。。但首先我需要能够上传一些东西,对吗

我目前的状态是:

    function init() {
        gapi.client.setApiKey(apiKey);
        gapi.auth.authorize({
            client_id: clientId,
            scope: 'https://www.googleapis.com/auth/devstorage.full_control',
            immediate: true
        }, initializeApi);
    }

    function initializeApi() {
        gapi.client.load('storage', 'v1').then(makeRequest);
    }

    function makeRequest() {
        var request = gapi.client.storage.buckets.list({
            'project': PROJECT
        });

        request.then(function(response) {
            console.log(response);
        }, function(reason) {
            console.log('Error: ' + reason.result.error.message);
        });
    }
日志只给出了一个错误:“error:Login Required”和一个401未经授权的密码

https://content.googleapis.com/storage/v1/b?project=PROJECT&key=apiKey
既然我提供了我所有的东西,我想我需要某种身份验证令牌。我简直找不到任何地方该怎么做

我唯一的线索是:它听起来绝对不适合客户端代码


谢谢你

你有没有尝试过“可恢复上传”的技巧?我读过,但这需要一个服务器,我目前没有使用任何服务器端逻辑。。。不过,我可能会被迫这样做。或者,正如同一访问控制页面所指出的,您可以将预定义的ACL
public read-write
设置到您的bucket,但是“将bucket设置为public read-write将允许Internet上的任何人将任何内容上载到您的bucket。您将对这些内容负责”,这在我看来很可怕。无论如何,如果您愿意,您可以使用
gsutil
或开发人员控制台设置您想要的任何ACL,而无需任何编码。但对我来说似乎也很可怕^^我想我将不得不使用签名URL和服务器。。。