我正在尝试通过 node.js 获取 Google 云端硬盘电子表格的文件内容。我正在使用 google-api-nodejs-client获取 access_token
和 node-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/