如何使用获取微软SharePoint SiteID。
最初,我尝试使用下面的API来获得站点ID
https://graph.microsoft.com/v1.0/sites/tenantName.sharepoint.com:/sites/TestSite:/drives?select=name,id
Sharepoint URL:
https://tenantName.sharepoint.com/sites/TestSite
我得到的结果是:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#drives",
"value": [
{
"id": "b!l17-JY9YT67Qp-2TBvsUupBLMUF2SrJHp5VylCDZThT7HpCdF-7uQ6NTp6t-MbR5",
"name": "Documents"
}
]
}
但是,当我尝试使用通讯网站时
其SharePoint URL为:
https://tenantName.sharepoint.com/SitePages/DevHome.aspx
图资源管理器API
https://graph.microsoft.com/v1.0/sites/tenantName.sharepoint.com:/SitePages/DevHome:/drives?select=name,id
我正在犯以下错误:
{
"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"
}
}
}
发布于 2019-10-31 16:59:41
site
是拥有任意数量的子站点、应用程序、列表、文档库等的容器。sitePage
只是site
拥有的另一个资源。sitePage
资源目前仅在Microsoft版本中可用。因此,对/SitePages/DevHome.aspx
的查询是:
/beta/sites/root/pages/{pageId}
如果您还不知道页面的正确id
,可以根据页面的名称过滤SitePage
集合:
/beta/sites/root/pages?$filter=name eq 'DevHome.aspx'
这将返回一个具有单个实体的集合( DevHome.aspx
页面):
{
"@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。您可以在站点资源文档的关系部分中找到站点中包含的对象
发布于 2019-10-31 18:11:27
https://stackoverflow.com/questions/58643974
复制相似问题