为什么Google电子表格文档有两种不同的网址格式?

时间:2014-04-23 12:05:42

标签: google-drive-api google-sheets google-spreadsheet-api

我的应用代表授权用户访问私人Google电子表格文档。似乎Google的API期望开发人员首先请求授权用户可用的所有电子表格文档的列表,然后才能获得特定电子表格的密钥。我想找到一个解决方法,最后通过从URL电子表格网址中提取key参数值来实现:

https://docs.google.com/spreadsheet/ccc?key={some long key here}&usp=drive_web#gid=0

简单地将字符串分解为可以在不需要正则表达式的情况下轻松检索key的值的位置。

最近,虽然我不知道最近的情况,但我注意到新创建的Google云端硬盘电子表格的网址采用以下格式:

https://docs.google.com/spreadsheets/d/{some long key here}/edit#gid=0

我也能从这个URL字符串中提取密钥,但我只是对这两个网址之间的区别感到好奇:

  1. 两个网址之间有什么重要意义。
  2. 当开发者可能只想将直接网址中的密钥提取到Google云端硬盘电子表格文档时,为什么Google的API强制首先会获取所有可用文档的列表。
  3. 谢谢!

3 个答案:

答案 0 :(得分:8)

旧样式表

他们仅在线工作,每个电子表格限制在大约400,000个单元格。

旧样式网址

 https://docs.google.com/spreadsheet/ccc?key={some long key here}&usp=drive_web#gid=0

新样式表

2013年12月中旬发布

脱机工作和(如果我还记得)每个电子表格最多2,000,000个单元格。

https://docs.google.com/spreadsheets/d/{some long key here}/edit#gid=0

电子表格KEY

我使用Google-apps-script获取密钥,如下所述: Get the spreadsheet key that is in the URL. Not ss.getId()

答案 1 :(得分:0)

您从哪里获取网址?您不应该依赖特定的URL格式,这些格式可能会发生变化,而不是可靠的。你应该能够通过指定"字段"来获得id。您的请求中的参数。见https://developers.google.com/drive/v2/reference/files/list

答案 2 :(得分:0)

Cloudward通过Cloud Snippets解决了这个问题。这里有两个可能有所帮助,还有很多其他人可以探索。

从Google表格发布简单列表: https://snippets.cloudward.com/app_listing.espx?template_id=0d367025e8b5f402cd510905cade1d29&account_id=&cat_id=c478885bb325028151eaa9060422c67f

按ID发布Google文档: https://snippets.cloudward.com/app_listing.espx?template_id=51925e7ed2166d7d83a8c32fa1ee88dd&account_id=

希望这有帮助。

鲍勃

相关问题