【问题标题】:Trying to get SharePoint sites for given current user尝试获取给定当前用户的 SharePoint 网站
【发布时间】:2017-05-18 11:05:17
【问题描述】:

是否可以通过 Microsoft Graph API 检索给定用户可用的 SharePoint 网站。我查看了 Graph API User (https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/resources/user) 并注意到用户和站点(站点)之间存在关系。但是,当我尝试在 Graph Explorer 中使用那个时,我收到错误“不支持的段类型”。

请求:https://graph.microsoft.com/v1.0/users/{user_id}/sites

{
"error": {
    "code": "BadRequest",
    "message": "Unsupported segment type. ODataQuery: users/{user_id}/sites",
    "innerError": {
        "request-id": "cf9dedff-5642-4a77-a179-3d63d2921a8a",
        "date": "2017-05-17T19:46:29"
    }
}

}

【问题讨论】:

    标签: sharepoint microsoft-graph-api


    【解决方案1】:

    这是一个文档错误, /sites/ 集合在用户对象上不可用。我已对文档进行了更改,以清理用户对象描述并删除该引用。

    我很好奇您希望从对用户的 /sites 的查询中返回什么样的信息。您只是在寻找用户可以访问的所有网站吗?您可以使用站点搜索 API 来完成此操作:

    GET https://graph.microsoft.com/v1.0/sites?search={query}
    

    它会返回用户可以访问的与查询文本匹配的所有网站。如果您将查询文本保留为空字符串,您会收到用户有权访问的网站列表。

    【讨论】:

    • 如果我在站点搜索 API (graph.microsoft.com/beta/sites?search="") 中将查询文本保留为空字符串,则会收到错误消息“位置 0 应有标识符”。站点搜索 API 要求参数不是 null 或空字符串。
    • 不要使用引号,留空就好,像这样:graph.microsoft.com/beta/sites?search=
    • 我试过了,但在 Graph Explorer 中出现错误 - 表达式应位于 '' 中的位置 0。
    • 啊,有趣。看起来测试版中存在错误。如果您将 beta 更改为 v1.0,则此查询有效:graph.microsoft.com/v1.0/sites?search=
    • 我使用 v1.0 尝试了该查询。有用。我注意到查询返回给定用户可以访问的所有文档和站点。有什么方法,我只能搜索 SharePoint 网站吗?与我合作的团队有兴趣使用 Graph API 为给定用户搜索 SharePoint 网站。
    猜你喜欢
    • 2013-11-15
    • 2020-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-26
    • 2014-01-25
    • 1970-01-01
    相关资源
    最近更新 更多