web-dev-qa-db-fra.com

Comment puis-je obtenir le siteId du site actuel avec l'API Microsoft Graph?

À partir de la documentation, je ne trouve aucun moyen d'obtenir l'ID de site du site dans lequel j'ai placé le composant WebPart.

Par exemple,

Mon site actuel est: https://{hostname}/sites/main1 <- PAS le site racine, mais je veux obtenir ce siteId

et je teste mon webpart ici: https://{hostname}/sites/main1/_layouts/15/workbench.aspx

Comment puis-je atteindre cet objectif? De la documentation,

Un site est adressé par un identifiant unique qui est un ID composite des valeurs suivantes:

Nom d'hôte de la collection de sites (contoso.sharepoint.com)

ID unique de la collection de sites (GUID)

ID unique du site (guid)

Je peux facilement obtenir le nom d'hôte en utilisant location.hostname (Oui, j'utilise JavaScript + React pour créer mon composant WebPart) mais comment obtenir facilement l'ID de site avec l'API Graph?

7
PCHC

Essaye ça: https://graph.Microsoft.com/v1.0/sites/{hostname}:/sites/{path}?$select=id Par exemple: https://graph.Microsoft.com/v1.0/sites/cie493742.sharepoint.com:/sites/Contoso/Operations/Manufacturing?$select=id (celui-ci, vous pouvez essayer sur l'explorateur de graphiques.

Ce que vous récupérez dans l'id est dans ce format:

{hostname},{spsite.id},{spweb.id}. 

Pour plus d'informations, voici le lien vers les documents: https://developer.Microsoft.com/en-us/graph/docs/api-reference/v1.0/api/site_get

15
Yina - MSFT

Vous n'avez pas besoin de faire un appel à l'API Graph pour obtenir le siteId du site actuel. Il est disponible dans le PageContext .

Dans la classe principale de votre composant WebPart, vous pouvez le trouver sur:

this.context.pageContext.site.id
0
RoelVB

Sur les sites classiques utilisant spPageContextInfo:

(location.Host + "," + _spPageContextInfo.siteId + "," + _spPageContextInfo.webId).replace(/[\{\}]/g, "")
0
rlv-dan