我的应用代表授权用户访问私人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字符串中提取密钥,但我只是对这两个网址之间的区别感到好奇:
谢谢!
答案 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
我使用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=
希望这有帮助。
鲍勃