确定活动标签是否包含可修改的Google文档

时间:2016-12-14 15:04:42

标签: javascript google-chrome-extension google-drive-api google-docs-api

假设我的分机已使用How can I get the current tab URL for chrome extension?中建议的方法获取当前有效标签的网址,例如

=INDEX(A:D,MATCH(A10,B:B,0),MATCH(B10,$2:$2,0))

如何确定网址是否指向我拥有编辑权限的Google文档?所有权与受邀合作者之间的区别对于此应用程序并不重要。我只对文档感兴趣而不是电子表格或表格。

有关我尝试开发的内容,请参阅:How to manually generate notifications to a Google Doc collaborator?

2 个答案:

答案 0 :(得分:1)

以下是google doc的并排视图,我在其中创建了一个doc,生成了一个共享链接,并在我未登录google的浏览器中打开它。我建议使用内容脚本插入一个“查找”函数,如果它可以找到DOM中的“仅查看”按钮,它将返回truefalse(“仅查看”意味着你做没有编辑权限)。您可以使内容脚本与仅显示docs.google.com/document/*的网址匹配。

警告:谷歌经常更改用户界面,因此这可能无法面向未来。尝试在两种情况下检查谷歌文档的来源,以寻找更多线索。

并排查看:

side by side

chrome devtools中的源代码:

view only button source code

答案 1 :(得分:1)

替代答案,基于Google Drive API而非Google文档用户界面。

在执行此操作之前,请确保清单中的declare permissions(仅匹配docs.google.com/document/*的网址。)

以下是您可以遵循的步骤的概述:

  1. GET a file, 这将返回一些元数据。您可以使用您拥有的URL来提取GET请求中使用的相关ID。

  2. 使用此元数据file resource检索permissions resource

  3. 在权限资源中,查看role属性:它可以是ownerreaderwriter。如果您是reader,则不具有编辑权限,但是否则应具有编辑权限。