当前位置: 首页 > 知识库问答 >
问题:

如何在Office 365上获取SharePoint文件的权限

戴建义
2023-03-14

在Office365中,我们使用用户“UserA”将文件“File1”上载到OneDrive。然后,我们使用图形api获取该文件的权限(https://graph.microsoft.com/me/drives/[DriveId]/items/[itemId]/权限),并按预期获得权限:

"permissions": [
  {
    "grantedTo": {
      "user": {
        "email": "UserA@wherever.com",
        "id": "ef7bd4af-3f36-4e81-9f76-296f4956b807",
        "displayName": "User A"
      }
    },
    "id": "aTowIy5mfG1lbWJlcnNoaXB8ZGRyYXBlckBmaXJlbGF5ZXJzLm9ubWljcm9zb2Z0LmNvbQ",
    "roles": [
      "owner"
    ]
  }
]

然而,我们随后将相同的文件(使用相同的用户)上载到新创建的名为“Site1”的SharePoint网站,并获得该文件的权限(再次使用graph 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网站的所有组时,这三个组均未列出。然而,名为“Site1”的组确实包含但不包含添加到这三个组中任何一个组的任何用户。

我们如何使用图形API获取这些组(即属于给定组的用户)的附加信息/这可能吗?

共有1个答案

松翔
2023-03-14

我不确定是否可以通过Graph API实现,但SharePoint确实有一个专注于用户和组的RESTful API,这应该会很有帮助。它确实在这里包含了大量示例:https://msdn.microsoft.com/en-us/library/office/dn531432.aspx

 类似资料:
  • 我们的一个客户正在使用office365组,我们希望实现以编程方式管理该组内的文件。 我们正在使用SharePoint API来管理Office365站点中的其他文件,但我们无法确定如何为Office365组做到这一点。 我们尝试了图形API(即调用<代码>https://graph.microsoft.com/v1.0/groups/ 通过查看组在Office365中是如何实现的,看起来它们只是

  • 我很难弄清楚如何让应用程序对Sharepoint站点进行读/写访问。 以下是我所做的: 我创建了一个sharepoint网站 我创建了一个microsoft azure应用程序,并使用OAuth2对用户进行了身份验证 我在应用程序控制面板上设置了包括文件的委派权限。读写。全部 我创建了一个对sharepoint网站具有读/写权限的用户,并用应用程序对其进行了身份验证 我有一个程序(在PHP中)具有

  • 我正在尝试使用SharePoint Rest API根据组名获取SharePoint用户组权限(例如:读取、贡献)。我的目标是获得组的权限级别,并根据权限级别禁用自定义应用程序上的功能。我尝试了以下url来获取组属性,但无法获取组的权限级别。谁能指导我如何获得用户组权限。 尝试的选项: URL=http://Servename/Site/api/web/SiteGroups/getByName(“

  • 我想通过打开一个文件来获得一个文件路径,该文件选择由start ActivityForResult,其意图是意图。ACTION_GET_CONTENT和setType(* / *), 但是当我选择打开“Nexus 5X”项时,返回uri是“com.android.externalstorage.documents”,如何处理这种类型uri。有一些代码。 截图

  • 我正在尝试在我的Android10(API29)设备上获得MANAGE_EXTERNAL_STORAGE权限。 https://developer.android.com/training/data-storage/manage-all-files 清单: 主要活动: 但我怎样才能得到那个许可呢?

  • 好的,这是我目前的build.gradle: 这就是配置。格拉德尔: 问题是:为什么我可以从config.gradle.访问howManyTables任务,但不能访问定义的变量?我想创建具有预定义值的自定义config.gradle。然后在我的Android应用程序中使用它们作为变量。(他们,根据这些数据建立了我的逻辑。无论如何,我希望这个问题很清楚;)有什么想法吗?