node.js - 以 CSV 格式获取 Google Drive 电子表格的内容

标签 node.js request google-drive-api

我正在尝试通过 node.js 获取 Google 云端硬盘电子表格的文件内容。我正在使用 google-api-nodejs-client获取 access_tokennode-google-drive模块获取 file_id

"https://docs.google.com/feeds/download/spreadsheets/Export?key="+file_id+"&exportFormat=csv&gid=0"

当我登录到 Google Drive 并转到上面的 URL 时,它会下载 CSV 格式的电子表格。当我尝试以隐身方式访问该 URL 时,它会显示一个登录页面,这与我在 node.js 中的请求正文中获得的页面相同。

request({
    "method":"get",
    "url": "https://docs.google.com/feeds/download/spreadsheets/Export",
    "qs":{
        "key": key,
        "exportFormat": "csv",
        "gid": 0
    },
    "headers":{
        "Authorization": "Bearer " + token
    }
}, function(err, response, body){
    console.log(response);
});

我已尝试发送 Authorization header ,但我仍然收到 HTML 响应。包含 抱歉,您请求的文件不存在。

最佳答案

使用这个:https://github.com/jpillora/node-edit-google-spreadsheet

例子

var Spreadsheet = require('edit-google-spreadsheet');

Spreadsheet.create({
  debug: true,
  username: [GOOGLE USERNAME],
  password: [PASSWORD],
  spreadsheetName: 'node-edit-spreadsheet',
  worksheetName: 'Sheet1',
  spreadsheetId: '[DOC ID]',
  callback: run
});

function run(err, spreadsheet) {
  if(err) throw err;
  //receive all cells
  spreadsheet.receive(function(err, rows, info) {
    if(err) throw err;
    console.log("Found rows:", rows);
    console.log("With info:", info);
  });
}

问候,

/t

关于node.js - 以 CSV 格式获取 Google Drive 电子表格的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18345803/

相关文章:

Python:如何使用 folderId 将文件上传到 Google 云端硬盘中的特定文件夹

android - 如何使用 android auto backup 以编程方式恢复和备份

java - 使用nodejs模拟soapUI签名请求

javascript - 如何在远程服务器(ubuntu)上的node.js中安装并连接到mongodb?

python urllib2,密码内容和空响应

node.js - 服务器之间通信的安全方式

c# - 如何在 C# 中创建一个将生成 HTTP 响应主体行的迭代器?

google-drive-api - Google Drive API 修订 list() 和 get() 方法未填充 lastModifyingUser 对象

node.js - npm install 时发生致命坏对象错误

javascript - ER_CON_COUNT_ERROR : Too many connections error in node-mysql