Détection de la configuration d’un client multigéographique

Quand vous travaillez avec un client SharePoint, il est important de pouvoir détecter un client multigéographique et d’identifier les emplacements géographiques satellites et par défaut.

L’image suivante illustre un client multigéographique comprenant :

  • Un emplacement géographique par défaut en Amérique du Nord.
  • Un emplacement géographique satellite en Europe.
  • Un emplacement géographique satellite en Asie.

Carte du monde indiquant un emplacement géographique par défaut en Amérique du Nord et des emplacements géographiques satellites en Europe et en Asie, avec les URL d’un administrateur client, d’un site racine et d’un site Mon site dans chaque langue

Obtenir des informations sur la configuration d’un client multigéographique

Selon votre scénario, vous pouvez utiliser une ou plusieurs des API suivantes pour accéder à un site client multigéographique :

  • API CSOM SharePoint : ne tient pas compte des emplacements multigéographiques. Selon votre scénario, ciblez le bon emplacement géographique (par exemple, pour accéder à un profil utilisateur ou effectuer les opérations de l’API du client).

  • API Microsoft Graph : tient compte des emplacements multigéographiques. Nous vous recommandons d’utiliser Microsoft Graph pour accéder aux sites du client multigéographique.

  • API REST SharePoint : cette API est généralement utilisée pour une URL de site. Dans ce cas, peu importe que le client soit multigéographique ou non. Dans certains scénarios de l’API REST (par exemple, les scénarios de recherche ou de profil utilisateur), il se peut que vous deviez passer des appels pour chaque emplacement géographique.

Utilisation de l’API CSOM

Pour obtenir l’emplacement géographique de votre client, vous pouvez utiliser le modèle CSOM à l’aide de la classe Tenant et de la méthode GetTenantInstances, comme illustré dans l’extrait de code suivant :

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

Utilisation de l’API Microsoft Graph

Vous pouvez obtenir les informations de l’emplacement géographique d’un client à l’aide de Microsoft Graph. L’exemple suivant renvoie une collection de sites comportant un objet pour chaque emplacement géographique.

Remarque

L’exemple de code suivant utilise l’attribut dataLocationCode sur l’objet siteCollection. Au moment de la publication, cette propriété n’est disponible qu’au point de terminaison bêta de Microsoft Graph.

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

Exemple de réponse pour un client multigéographique

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

Pour en savoir plus, consultez l’exemple MultiGeo.TenantInformationCollection.

Remarque

Pour obtenir des informations complémentaires sur les autorisations et la configuration de votre application, consultez l’article relatif à la configuration d’un exemple d’application multigéographique.

Détecter la configuration multigéographique du client

Vous pouvez utiliser Microsoft Graph pour détecter si un client est multigéographique, car les demandes transmises via Microsoft Graph aux clients multigéographiques renvoient plusieurs éléments dans la collection.

L’exemple suivant illustre les résultats d’un appel passé à un client géographique unique via Microsoft Graph.

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

Exemple de réponse pour un client géographique unique

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

Voir aussi