首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >/驱动器api ->获取实时文档的用户角色

/驱动器api ->获取实时文档的用户角色
EN

Stack Overflow用户
提问于 2017-02-20 17:10:43
回答 2查看 216关注 0票数 0

我有一个实时应用程序,用doc.getCollaborators()获取协作者,这给了我一个数组[] doc来自于gapi.drive.realtime.Document类型

根据API参考,没有像isOwner这样的字段显示当前的协作者是否是实时文档"doc“的所有者。

我的问题是如何找出doc的协作者扮演的角色。在API文档中,我发现:“Realtime支持所有者、读者和作者角色”

如果我尝试使用来自gapi.client.drive.permissions.listgoogle驱动器api参考建议

代码语言:javascript
运行
复制
    function retrievePermissions(fileId, callback) {
        var request = gapi.client.drive.permissions.list({
            'fileId': fileId
        });
        request.execute(function (resp) {
            callback(resp.items);
        });
    }


    retrievePermissions(self.realtimeDocId, function (resp) {
        resp;


        });

然后,我得到以下错误消息:

实时加载回调中的错误: TypeError:无法读取未定义TypeError的属性“权限”:无法读取未定义的属性“权限”

EN

回答 2

Stack Overflow用户

发布于 2017-02-21 02:46:11

要使用驱动器API,必须将其与Realtime分开加载。

代码语言:javascript
运行
复制
window.gapi.client.load('drive', 'v3', function ()
{
    // Run your code here.
});

在获得权限列表之后,您可以为从RealtimeDoc::getCollaborators调用返回的每个用户使用权限ID。

票数 0
EN

Stack Overflow用户

发布于 2017-02-21 06:18:37

您可能需要检查您如何放置代码,基于文档,您可以将实时API集成到驱动平台。

实时文档被附加到存储在Google中的文件。因此,应用程序应该使用驱动REST与驱动器文件进行交互。例如,要创建一个新文件,可以使用来自Drive的files.insert方法。若要检索已存在的文件,请使用files.get方法。 有关与Google中的文件交互的更多信息,请参见Google驱动器集成

至于代码实现,您可以检查CodeMirror与Google实时应用程序的合作

驱动器API:

代码语言:javascript
运行
复制
/**
 * Creates a new Realtime file.
 * @param title {string} title of the newly created file.
 * @param callback {Function} the callback to call after creation.
 */
rtclient.createRealtimeFile = function(title, callback) {
  gapi.client.load('drive', 'v2', function() {
    gapi.client.drive.files.insert({
      'resource': {
        mimeType: rtclient.REALTIME_MIMETYPE,
        title: title
      }
    }).execute(callback);
  });
}

对于实时API:

代码语言:javascript
运行
复制
// We have a file ID in the query parameters, so we will use it to load a file.
  if (fileId) {
    gapi.drive.realtime.load(fileId, this.onFileLoaded, this.initializeModel, handleErrors);
    return;
  }

希望这个信息能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42350512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档