从文档中,我找不到任何方法来获取我放置webpart的网站的siteId。
例如,
我当前的网站是:https://{hostname}/sites/main1
< - 不是root网站,但我想获得此siteId
我在这里测试我的webpart:https://{hostname}/sites/main1/_layouts/15/workbench.aspx
我怎样才能做到这一点?从文档中,
网站的地址是唯一标识符,它是以下值的复合ID:
网站集主机名(contoso.sharepoint.com)
网站集唯一ID(guid)
网站唯一ID(guid)
我可以使用location.hostname
轻松获取主机名(是的,我使用JavaScript + React来构建我的webpart)但是如何使用Graph API轻松获取site-id?
答案 0 :(得分:8)
试试这个:https://graph.microsoft.com/v1.0/sites/{hostname}:/sites/{path}?$select=id
例如:
https://graph.microsoft.com/v1.0/sites/cie493742.sharepoint.com:/sites/Contoso/Operations/Manufacturing?$select=id
(您可以尝试使用Graph Explorer。
你在id中得到的是这种格式:
{hostname},{spsite.id},{spweb.id}.
有关详细信息,请参阅文档的链接:https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/site_get
答案 1 :(得分:0)
答案 2 :(得分:0)
在使用spPageContextInfo
的经典网站上:
(location.host + "," + _spPageContextInfo.siteId + "," + _spPageContextInfo.webId).replace(/[\{\}]/g, "")
答案 3 :(得分:0)
另一种方法可以通过Graph Http Get API下面获得Site-id。