首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用图形SharePoint资源管理器获取SharePoint的站点Id

如何使用图形SharePoint资源管理器获取SharePoint的站点Id
EN

Stack Overflow用户
提问于 2019-10-31 13:02:20
回答 2查看 5.7K关注 0票数 1

如何使用获取微软SharePoint SiteID。

最初,我尝试使用下面的API来获得站点ID

代码语言:javascript
运行
复制
https://graph.microsoft.com/v1.0/sites/tenantName.sharepoint.com:/sites/TestSite:/drives?select=name,id

Sharepoint URL:

代码语言:javascript
运行
复制
https://tenantName.sharepoint.com/sites/TestSite

我得到的结果是:

代码语言:javascript
运行
复制
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#drives",
"value": [
    {
        "id": "b!l17-JY9YT67Qp-2TBvsUupBLMUF2SrJHp5VylCDZThT7HpCdF-7uQ6NTp6t-MbR5",
        "name": "Documents"
    }
]

}

但是,当我尝试使用通讯网站时

其SharePoint URL为:

代码语言:javascript
运行
复制
https://tenantName.sharepoint.com/SitePages/DevHome.aspx

图资源管理器API

代码语言:javascript
运行
复制
https://graph.microsoft.com/v1.0/sites/tenantName.sharepoint.com:/SitePages/DevHome:/drives?select=name,id

我正在犯以下错误:

代码语言:javascript
运行
复制
{
"error": {
    "code": "itemNotFound",
    "message": "The provided path does not exist, or does not represent a site",
    "innerError": {
        "request-id": "8329dfca-c63b-4af5-80b8-75f26be9e2e8",
        "date": "2019-10-31T13:18:33"
    }
}

}

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-31 16:59:41

sitePage是一个与site完全不同的资源。

  • site是拥有任意数量的子站点、应用程序、列表、文档库等的容器。
  • sitePage只是site拥有的另一个资源。
  • sitePage资源目前仅在Microsoft版本中可用。

因此,对/SitePages/DevHome.aspx的查询是:

代码语言:javascript
运行
复制
/beta/sites/root/pages/{pageId}

如果您还不知道页面的正确id,可以根据页面的名称过滤SitePage集合:

代码语言:javascript
运行
复制
/beta/sites/root/pages?$filter=name eq 'DevHome.aspx'

这将返回一个具有单个实体的集合( DevHome.aspx页面):

代码语言:javascript
运行
复制
{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#sites('root')/pages",
    "value": [
        {
            "eTag": "",
            "id": "{id}",
            "lastModifiedDateTime": "2014-07-10T05:47:29Z",
            "name": "DevHome.aspx",
            "webUrl": "SitePages/DevHome.aspx",
            "createdBy": {
                "user": {
                    "displayName": "System Account"
                }
            },
            "lastModifiedBy": {
                "user": {
                    "displayName": "System Account"
                }
            },
            "parentReference": {
                "siteId": "{id}"
            },
            "contentType": {
                "id": "0x0101080062C83F3CFED6744A882F729480DE6C17",
                "name": "Wiki Page"
            },
            "webParts": [],
            "publishingState": {
                "level": "published",
                "versionId": "1.0"
            }
        }
    ]
}

我还应该指出,您误解了第一个查询的结果。当您请求/v1.0/sites/{tenant}:/{path}:/drives?select=name,id时,您不是为每个Site获取ID,而是为该Site中的每个Drive获取ID。您可以在站点资源文档的关系部分中找到站点中包含的对象

票数 2
EN

Stack Overflow用户

发布于 2019-10-31 18:11:27

票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58643974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档