在 Google 文档中隐藏共享选项
Hide share option from Google doc
我正在使用 google 驱动器 api 的 .NET SDK 在 Google 驱动器上上传/创建文件。一切正常,我可以根据我的业务逻辑向用户授予权限,例如作者、reader、评论者或所有者。但我想对除所有者以外的所有人隐藏共享按钮,因为我的业务逻辑应该决定哪个文件应该与谁共享以及何时共享。
分享文档的代码如下:
try
{
Google.Apis.Drive.v2.Data.Permission permission = new Google.Apis.Drive.v2.Data.Permission();
switch (role)
{
case GoogleRoles.WRITER:
case GoogleRoles.READER:
case GoogleRoles.OWNER:
{
permission.Role = role;
permission.Value = userEmail;
permission.Type = "user";
break;
}
case GoogleRoles.COMMENTER:
{
permission.Role = GoogleRoles.READER; //Need to assign role before we assign the additional role of commenter.
List<String> additionalRoles = new List<string>();
additionalRoles.Add(GoogleRoles.COMMENTER);
permission.AdditionalRoles = additionalRoles;
permission.Type = "user";
permission.Value = userEmail;
break;
}
}
PermissionsResource.InsertRequest insertRequest = DriveService.Permissions.Insert(permission, fileId);
insertRequest.SendNotificationEmails = true;
insertRequest.Execute();
其中 DriveService
是服务帐户的一个实例。任何指针都会有很大的帮助。
遗憾的是,Drive API 尚不支持禁用共享或禁用下载的功能。请在此处提交功能请求:https://code.google.com/a/google.com/p/apps-api-issues/issues/entry?template=Feature%20request&labels=Type-Enhancement,API-Drive
我将此作为增强功能提出,也得到了回应。所以在 Google 驱动器 API 中它不是权限的一部分,但这些是文件本身的属性,所以我们需要设置他的属性而不是权限,如:
File.LabelsData labels = new File.LabelsData();
labels.Restricted = true;
File body = new File();
body.Labels = labels;
body.WritersCanShare = false;
已经解决了Share
的问题,但是下载问题并没有通过上述修改得到解决。有关详细信息,请访问 https://developers.google.com/drive/v2/reference/files
我正在使用 google 驱动器 api 的 .NET SDK 在 Google 驱动器上上传/创建文件。一切正常,我可以根据我的业务逻辑向用户授予权限,例如作者、reader、评论者或所有者。但我想对除所有者以外的所有人隐藏共享按钮,因为我的业务逻辑应该决定哪个文件应该与谁共享以及何时共享。
分享文档的代码如下:
try
{
Google.Apis.Drive.v2.Data.Permission permission = new Google.Apis.Drive.v2.Data.Permission();
switch (role)
{
case GoogleRoles.WRITER:
case GoogleRoles.READER:
case GoogleRoles.OWNER:
{
permission.Role = role;
permission.Value = userEmail;
permission.Type = "user";
break;
}
case GoogleRoles.COMMENTER:
{
permission.Role = GoogleRoles.READER; //Need to assign role before we assign the additional role of commenter.
List<String> additionalRoles = new List<string>();
additionalRoles.Add(GoogleRoles.COMMENTER);
permission.AdditionalRoles = additionalRoles;
permission.Type = "user";
permission.Value = userEmail;
break;
}
}
PermissionsResource.InsertRequest insertRequest = DriveService.Permissions.Insert(permission, fileId);
insertRequest.SendNotificationEmails = true;
insertRequest.Execute();
其中 DriveService
是服务帐户的一个实例。任何指针都会有很大的帮助。
遗憾的是,Drive API 尚不支持禁用共享或禁用下载的功能。请在此处提交功能请求:https://code.google.com/a/google.com/p/apps-api-issues/issues/entry?template=Feature%20request&labels=Type-Enhancement,API-Drive
我将此作为增强功能提出,也得到了回应。所以在 Google 驱动器 API 中它不是权限的一部分,但这些是文件本身的属性,所以我们需要设置他的属性而不是权限,如:
File.LabelsData labels = new File.LabelsData();
labels.Restricted = true;
File body = new File();
body.Labels = labels;
body.WritersCanShare = false;
已经解决了Share
的问题,但是下载问题并没有通过上述修改得到解决。有关详细信息,请访问 https://developers.google.com/drive/v2/reference/files