【问题标题】:How to see files and folder of google drive API?如何查看 google drive API 的文件和文件夹?
【发布时间】:2016-01-18 16:06:37
【问题描述】:

我创建了一个 google 项目,并设置了所有我需要使用 google drive API 和 JWT crementials 的东西。

它不需要任何auth2认证,因为它是服务器-服务器通信,用户不参与该过程。

这工作正常,但为什么不使用我的帐户驱动器? 如果我创建了一个文件夹或文件,我无法在 google drive 中看到它,这是否使用了不同的存储空间,如果是这样,我是否有办法像普通的 google drive 帐户一样查看我的所有文件和文件夹?

我正在使用 nodeJs,到目前为止这很有效:

var google = require('googleapis');
var drive = google.drive('v3');
var config = require('../config/config');
var jwtClient = new google.auth.JWT(config.google.drive.client_email, null, config.google.drive.private_key, ['https://www.googleapis.com/auth/drive'], null);

jwtClient.authorize(function(err, tokens) {
    if (err) {
        console.log(err);
        return;
    }

    // Make an authorized request to list Drive files.
    //drive.files.create({
    //    auth: jwtClient,
    //    resource: {
    //        mimeType: 'application/vnd.google-apps.folder',
    //        title: 'my new folder'
    //    }
    //},function(err,response){
    //    if(err){
    //        console.log('error at gdrive creat folder: ' + err);
    //    }else{
    //        console.log('create response: ');
    //    }
    //});

    drive.files.list({ auth: jwtClient }, function(err, resp) {
        // handle err and response
        console.log('err', err);
        console.log('resp', resp);
    });
});

【问题讨论】:

    标签: javascript node.js rest google-drive-api


    【解决方案1】:

    我假设您指的是 Service Account 进行服务器到服务器交互。

    它没有进入您的帐户,因为它进入了服务帐户的配置用户。您可以委托domain-wide authority to the Service Account,但前提是您拥有 Google Apps for Work

    【讨论】:

    • 感谢信息,我找到了一种使它工作的方法,通过在我的谷歌帐户中创建一个文件夹并与我的服务帐户共享它(使用为它创建的电子邮件)并且它工作正常。
    • @Gatsbill 您上一条评论中的信息拯救了我的一天!没有试图以任何方式命令你,但如果你将它添加到你的原始问题中,在一些“DECENT WORKAROUND FOUND”标题下,这对我来说似乎是一个非常好的主意:-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-11
    • 1970-01-01
    相关资源
    最近更新 更多