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

根据API参考,没有像isOwner这样的字段显示当前的协作者是否是实时文档"doc“的所有者。
我的问题是如何找出doc的协作者扮演的角色。在API文档中,我发现:“Realtime支持所有者、读者和作者角色”
如果我尝试使用来自gapi.client.drive.permissions.list的google驱动器api参考建议
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的属性“权限”:无法读取未定义的属性“权限”
发布于 2017-02-21 02:46:11
要使用驱动器API,必须将其与Realtime分开加载。
window.gapi.client.load('drive', 'v3', function ()
{
// Run your code here.
});在获得权限列表之后,您可以为从RealtimeDoc::getCollaborators调用返回的每个用户使用权限ID。
发布于 2017-02-21 06:18:37
您可能需要检查您如何放置代码,基于文档,您可以将实时API集成到驱动平台。
实时文档被附加到存储在Google中的文件。因此,应用程序应该使用驱动REST与驱动器文件进行交互。例如,要创建一个新文件,可以使用来自Drive的files.insert方法。若要检索已存在的文件,请使用files.get方法。 有关与Google中的文件交互的更多信息,请参见Google驱动器集成。
至于代码实现,您可以检查CodeMirror与Google实时应用程序的合作。
驱动器API:
/**
* 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:
// 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;
}希望这个信息能帮上忙。
https://stackoverflow.com/questions/42350512
复制相似问题