在node.js中读取文件内容google drive rest api v3的权限

时间:2017-07-26 12:50:16

标签: node.js google-drive-api google-apis-explorer

我想阅读在google驱动器上与我共享的文件内容。我的范围是:SCOPES = ['https://www.googleapis.com/auth/drive'];应该可以访问所有内容。 我尝试this tutorial并且它有效,但是当我更改“listFiles”方法进行下载时,我收到以下错误消息:

“错误:用户未授予应用程序xxxx对文件xxxx的读取权限”

我也尝试使用“我的驱动器”中的文件ID,但我也遇到了同样的错误。

这就是我在listFiles方法中尝试过的:

var service = google.drive('v3');
    var fileId = 'XXXXXXXXXX';
    var dest = fs.createWriteStream('./calendar.csv');
    service.files.get({
        auth: auth,
        fileId: fileId,
        mimeType: "text/csv", //also tried to leave this line
        alt: "media"
    })
        .on('end', function() {
            console.log('Done');
        })
        .on('error', function(err) {
            console.log('Error during download', err);
        })
        .pipe(dest);

我还从csv文件中制作了一张工作表,并尝试使用以下请求打开它:

service.files.export({
        auth: auth,
        fileId: fileId,
        mimeType: "text/csv"
    })

但它引发了“权限不足”错误。这很奇怪,因为它直接来自here

谢谢!

1 个答案:

答案 0 :(得分:1)

很抱歉,解决方案很简单但不那么明显。

我需要使用访问权限和刷新令牌删除并再次创建我的凭据文件。我一开始使用不同的SCOPES。