提问者:小点点

nodejs-尝试下载与Google Drive API导出链接的文档修订时出现401错误


我需要使用nodejs下载一个与驱动器API的谷歌文档的所有修订,但我不明白如何授权出口链接的请求。 一旦我获得了我调用的每个修订的导出链接:

var options = {
           url: 'https://docs.google.com/feeds/download/documents/export/Export?id=1DRl6rbcVuuLVyb_WlhBLiYiCByWcS2bKGlLIsn7E8_8&revision=1&exportFormat=txt', //example link
           method: 'GET',
           headers: {
              Authorization: `Bearer ${jwToken}`, 
            },
           }
request(options).pipe(fs.createWriteStream(mydownloadfilename));

其中“jwtoken”是我用来获取修订列表的令牌,所以我猜它应该仍然有效。 但是,我得到了401-未经授权的页面。 我做错了什么?

谢谢


共1个答案

匿名用户

根据Drive APIv3文档:

无法下载Google文档,工作表和幻灯片的修订。

所以本质上,如果您想要检索的实际修订是文件本身,那么上面的方法就是正确的。

至于授权部分,您将需要从这里执行Node.js快速入门,并按照那里解释的步骤进行操作。

既然要导出文件,那么只需修改代码并添加以下部分即可:

function downloadDoc() {
   var fileId = 'ID_OF_THE_DOC';
   var dest = fs.createWriteStream('DESTINATION_OF_THE_OUTPUT_STREAM');
   drive.files.export({
     fileId: fileId,
     mimeType: 'application/vnd.google-apps.document'
   })
       .on('end', function () {
         console.log('Done');
       })
       .on('error', function (err) {
         console.log('Error during download', err);
       })
       .pipe(dest);
}

>

  • 驱动器API v3-管理修订;

    驱动器API v3-文件:导出;

    驱动API V3-QuickStart;

    DriveAPIv3-下载文档。