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.
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"
}
}
]
}