在Office365中,我们使用用户“UserA”将文件“File1”上载到OneDrive . 然后,我们使用图形api(https://graph.microsoft.com/me/drives/[DriveId]/items/[itemId]/permissions)获取该文件的权限,并获得我们所期望的权限:
"permissions": [
{
"grantedTo": {
"user": {
"email": "UserA@wherever.com",
"id": "ef7bd4af-3f36-4e81-9f76-296f4956b807",
"displayName": "User A"
}
},
"id": "aTowIy5mfG1lbWJlcnNoaXB8ZGRyYXBlckBmaXJlbGF5ZXJzLm9ubWljcm9zb2Z0LmNvbQ",
"roles": [
"owner"
]
}
]
但是,我们然后将相同的文件(使用相同的用户)上载到名为“Site1”的新创建的SharePoint站点并获取该文件的权限(再次使用图形api) . 与OneDrive文件权限不同,为此SharePoint文件返回的权限不包含“UserA”,但仅包含3个特定于站点的组(这些组似乎是在创建新SharePoint站点时自动创建的)
"permissions": [
{
"grantedTo": {
"user": {
"displayName": "Site1 Owners"
}
},
"id": "QXRoYXlUZXN0IE93bmVycw",
"roles": [
"owner"
]
},
{
"grantedTo": {
"user": {
"displayName": " Site1 Visitors"
}
},
"id": "QXRoYXlUZXN0IFZpc2l0b3Jz",
"roles": [
"read"
]
},
{
"grantedTo": {
"user": {
"displayName": " Site1 Members"
}
},
"id": "QXRoYXlUZXN0IE1lbWJlcnM",
"roles": [
"write"
]
}
]
列出SharePoint站点的所有组时,不会列出这3个组中的任何组 . 但是,名为“Site1”的组会执行,但不包含添加到这3个组中任何一个组的任何用户 .
我们如何使用图API /获得这些组的额外信息(即属于给定组的用户)甚至可能?
1 回答
我不确定是否可以通过Graph API实现,但SharePoint确实有一个专注于用户和组的RESTful API,应该会有所帮助 . 它确实包含了大量示例:https://msdn.microsoft.com/en-us/library/office/dn531432.aspx