1

Google Visualization API文档声明使用Google Spreadsheet作为数据源的最简单方式是发布它。在正常情况下,这很有效。但是我正在使用Drive API动态创建Google Spreadsheet。所以,即使我获得授权,然后创建一个电子表格,我也不能立即使用这个数据源作为数据源。所以我需要两种解决方案之一:Google Visualization API通过JavaScript客户端API将Google Spreadsheet作为“Authenticated”数据源Auth

1)通过Drive API以编程方式“发布”Google Spreadsheet?

2)验证对Google Visualization API的查询?

的代码看起来是这样的:

var url = 'https://spreadsheets.google.com/tq?key=' + idOfSpreadsheet + '&headers=1&pub=1'; 
var query = new google.visualization.Query(url); 
query.send(drawTable); 

你会觉得我可以追加身份验证令牌的url varible,但我无法找到任何文件。这将是我的第一选择。

否则,我可以发布电子表格,但我无法找到如何从JavaScript执行此操作。目前,我必须在Google云端硬盘用户界面中打开新创建的电子表格并手动发布。我不想向用户解释如何使用每个动态创建的电子表格来完成。

干杯詹姆斯

回答

0

正如你所说,你可以尝试到的OAuth 2访问令牌追加到URL。

创建谷歌电子表格后,您可以通过执行授权查询其元数据:

GET https://www.googleapis.com/drive/v2/files/<file_key> 

See documentation

在ILE的元数据,你会得到的可能导出格式列表:

... 
"exportLinks": { 
    "application/pdf": "https://docs.google.com/...&exportFormat=pdf", 
    "application/x-vnd.oasis.opendocument.spreadsheet": "https://docs.google.com/...exportFormat=ods", 
    "application/vnd.ms-excel": "https://docs.google.com/...&exportFormat=xls" 
}, 
... 

CSV没有列出,因为它只会让你下载第一页,但它是支持,所以你可以使用下面的网址:

https://docs.google.com/feeds/download/spreadsheets/Export?key=<file_key>&exportFormat=csv 

你要做的授权请求,但这样你就西港岛线需要附加您的身份验证令牌是这样的:

https://docs.google.com/feeds/download/spreadsheets/Export?key=<file_key>&exportFormat=csv&access_token=<auth_token> 

请注意,OAuth 2.0访问令牌仅适用于1小时,因此您需要最终刷新它们。

相关问题