发现多地理位置租户配置

使用 SharePoint 租户时,需要能够检测租户是否为多地理位置租户,并标识默认和附属地理位置。

下图展示的多地理位置租户包含下列地理位置:

  • 一个位于北美的默认地理位置。
  • 一个位于欧洲的附属地理位置。
  • 一个位于亚洲的附属地理位置。

显示北美默认地理位置以及欧洲和亚洲附属地理位置的世界地图,还显示了每个地理位置的针对特定语言的租户管理网站、根网站和“我的网站”URL

获取多地理位置租户配置信息

根据所用的具体方案,你可以使用下列 API 之一或组合,访问多地理位置租户网站:

  • SharePoint CSOM API:不感知多地理位置。 根据具体方案,你需要定位正确的地理位置(例如,访问用户配置文件或执行租户 API 操作)。

  • Microsoft Graph API:感知多地理位置。 建议使用 Microsoft Graph 访问多地理位置租户网站。

  • SharePoint REST API:此 API 通常用于网站 URL 的上下文,因此,无需考虑租户是否为多地理位置租户。 一些 REST API 方案(如搜索或用户配置文件)可能要求按地理位置进行调用。

使用 CSOM API

使用 Tenant 类和 GetTenantInstances 方法获取租户的地理位置可以通过 CSOM 完成,如下面的代码片段所示:

Tenant tenant = new Tenant(clientContext);
var tenantInstances = tenant.GetTenantInstances();
clientContext.Load(tenantInstances);
clientContext.ExecuteQuery();

使用 Microsoft Graph API

可以使用 Microsoft Graph 获取租户的地理位置信息。 下面的示例返回一个集合,其中每个地理位置对应一个对象。

注意

下面的代码示例使用 siteCollection 对象上的 dataLocationCode 属性。 发布时,此属性仅可在 Microsoft Graph beta 终结点中使用。

GET https://graph.microsoft.com/beta/sites?filter=siteCollection/root%20ne%20null&select=webUrl,siteCollection

多地理位置租户的响应示例

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#sites",
    "value": [
        {
            "webUrl": "https://contoso.sharepoint.com/",
            "siteCollection": {
                "dataLocationCode":"NAM",
                "hostname": "contoso.sharepoint.com"
            }
        },
        {
            "webUrl": "https://contosoeur.sharepoint.com/",
            "siteCollection": {
                "dataLocationCode":"EUR",
                "hostname": "contosoeur.sharepoint.com"
            }
        },
        {
            "webUrl": "https://contosoapc.sharepoint.com/",
            "siteCollection": {
                "dataLocationCode":"APC",
                "hostname": "contosoapc.sharepoint.com"
            }
        }
    ]
}

有关详细信息,请参阅 MultiGeo.TenantInformationCollection 示例。

注意

若要详细了解有关权限以及如何配置应用程序的信息,请参阅设置多地理位置示例应用

发现租户是否为多地理位置租户

可以使用 Microsoft Graph 发现租户是否为多地理位置租户,因为通过 Microsoft Graph 向多地理位置租户发出的请求将返回集合中的多个项。

下例显示向单地理位置租户执行 Microsoft Graph 调用返回的结果。

GET https://graph.microsoft.com/beta/sites?filter=siteCollection/root%20ne%20null&select=webUrl,siteCollection

单地理位置租户的响应示例

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#sites",
    "value": [
        {
            "webUrl": "https://singlegeotest.sharepoint.com/",
            "siteCollection": {
                "dataLocationCode":"",
                "hostname": "singlegeotest.sharepoint.com"
            }
        }
    ]
}

另请参阅