可以在google docs api中知道文件夹中的权限

时间:2012-03-07 14:54:13

标签: api google-docs google-apps google-docs-api

我只想知道是否有可能获得用户在文件夹或共享文件夹中的权限,

我正在使用此网址获取文件夹

  "https://docs.google.com/feeds/default/private/full/-/folder"

但是如何获得DocumentListEntry条目对象的文件夹权限?

这是我的代码:

                 query = new DocumentQuery(new URL(
        "https://docs.google.com/feeds/default/private/full/-/folder"));

                    feed = client.getFeed(query, DocumentListFeed.class);
        // Create a new list of tags with the values of google docs
        for (DocumentListEntry entry : feed.getEntries()) {
                    entry.getCanEdit() // this always return true even if i don't have permission in the folder

                    }

我希望有人能帮助我,先谢谢。

1 个答案:

答案 0 :(得分:0)

在DocsList API中,您拥有类Folder,其中包含以下方法:getEditors()getOwners()getViewers();每个人都返回一个用户数组。

现在我不认为您可以通过URL获取实际的文件夹对象,但您可以使用:getFolderById()方法。

这是一个简单的例子:

  1. 首先你需要找出文件夹的ID是什么,至少有三种方法,但最简单的方法是点击Google文档中的实际文件夹并分析它的URL:

      

    https://docs.google.com/a/appsbroker.com/?tab=mo#folders/0B7_GXypCeAAdYmM1ZjJjYzktMWM1OS00ZDBiLTk5MDQtNjhiY2U4Zjc2YjZk

    在上面的示例中,文件夹ID为:

      

    0B7_GXypCeAAdYmM1ZjJjYzktMWM1OS00ZDBiLTk5MDQtNjhiY2U4Zjc2YjZk

  2. 之后你可以编写一个简单的脚本:

    function myFunction() {
        //replace ... with your folder id
        var folder = DocsList.getFolderById("...");
        var owner = folder.getOwner();
        var editors = folder.getEditors();
        var viewers = folder.getViewers();
        //add code to go through the arrays and display them
    }