在OneDrive / OneDrive上进行文件共享的SetPermissions用于商业用途?

时间:2014-05-15 20:21:57

标签: onedrive sharepoint-online

你可以建议吗?

我正在尝试以编程方式在OneDrive,OneDrive for business,SharePoint Online中插入文件权限,这与您在Google云端硬盘上的操作方式不同。

ie:https://developers.google.com/drive/v2/reference/permissions/insert

我找不到用于插入文件权限的OneDrive API范围/方法? (实际上以编程方式共享文件)。有没有人碰巧知道这是否可行,如果有的话,使用哪个范围/方法?我假设它的东西,如SetPermission?

我知道您可以通过' wl.skydrive' OneDrive API中的范围虽然不清楚是否添加了任何权限?

提前谢谢

詹姆斯

2 个答案:

答案 0 :(得分:1)

最接近的模拟是共享编辑和共享读取链接:

http://msdn.microsoft.com/en-us/library/dn631815.aspx#get_links_to_files_and_folders

答案 1 :(得分:1)

如果您正在构建SharePoint应用程序,则可能需要尝试使用SPRoleAssignment类,这可能也适用于OneDrive for Business: http://msdn.microsoft.com/en-us/library/office/microsoft.sharepoint.sproleassignment(v=office.15).aspx

基本上,您创建一个组,添加权限级别,然后将其分配给项目。

您还可以使用DocumentSharingManager类中的UpdateDocumentSharingInfo方法(http://msdn.microsoft.com/en-us/library/office/microsoft.sharepoint.client.sharing.documentsharingmanager.updatedocumentsharinginfo(v=office.15).aspx)在OneDrive for Business中共享内部文件。 以下是如何拨打电话:

DocumentSharingManager.UpdateDocumentSharingInfo(                                                 _ctx,                                                 _resourceURL,                                                 new List(){_ newRoleAssignment},                                                 validateExistingPermissions:true,                                                 additiveMode:true,                                                 sendServerManagedNotification:false,                                                 customMessage:null,                                                 includeAnonymousLinksInNotification:false);                                             _ctx.ExecuteQuery();