Compartilhar via


Descobrir a configuração de um locatário multigeográfico

Quando estiver trabalhando com um locatário do SharePoint, você precisará ser capaz de detectar se ele é um locatário multi-geográfico e identificar os locais geográficos padrão e satélite.

A imagem a seguir mostra um locatário multi-geográfico com:

  • Um local geográfico padrão no América do Norte.
  • Uma localização geográfica satélite na Europa.
  • Uma localização geográfica satélite na Ásia.

Um mapa do mundo mostrando uma localização geográfica padrão em América do Norte, e localizações geográficas satélites na Europa e Ásia, com administrador de locatário específico do idioma, raiz e URLs do meu site

Obter informações de configuração de locatário multi-geo

Dependendo do cenário, você pode usar uma ou uma combinação das seguintes APIs para acessar um site de locatário multi-geográfico:

  • API CSOM do SharePoint: não multi-geográfico. Dependendo do cenário, você precisa direcionar o local geográfico correto (por exemplo, para acessar um perfil de usuário ou executar operações de API de locatário).

  • O Microsoft API do Graph: multi-geográfico. Recomendamos que você use o Microsoft Graph para acessar sites de locatários multi-geográficos.

  • API REST do SharePoint: normalmente, essa API é usada no contexto de uma URL do site e, portanto, se o locatário é Multi-Geo não é um fator. Alguns cenários de API REST (como pesquisa ou perfis de usuário) podem exigir que você faça chamadas por localização geográfica.

Usando a API do CSOM

A obtenção da localização geográfica do locatário pode ser feita por meio do CSOM usando a Tenant classe e o GetTenantInstances método, conforme mostrado no seguinte snippet:

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

Usando o Microsoft API do Graph

Você pode obter as informações de localização geográfica de um locatário usando o Microsoft Graph. O exemplo a seguir retorna uma coleção com um objeto por localização geográfica.

Observação

O exemplo de código a seguir usa o dataLocationCode atributo no siteCollection objeto. No momento da publicação, essa propriedade só está disponível no ponto de extremidade beta do Microsoft Graph.

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

Resposta de exemplo para um locatário multi-geo

{
    "@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"
            }
        }
    ]
}

Para obter mais informações, consulte o exemplo MultiGeo.TenantInformationCollection .

Observação

Para obter mais informações sobre permissões e como configurar seu aplicativo, consulte Configurar um aplicativo de exemplo Multi-Geo.

Descobrir se seu locatário é Multi-Geo

Você pode usar o Microsoft Graph para descobrir se um locatário é Multi-Geo porque as solicitações por meio do Microsoft Graph para locatários multi-geo retornam mais de um item na coleção.

O exemplo a seguir mostra os resultados de uma chamada do Microsoft Graph para um locatário geográfico único.

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

Resposta de exemplo para um locatário de geográfico único

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

Confira também