Nota
L'accés a aquesta pàgina requereix autorització. Podeu provar d'iniciar la sessió o de canviar els directoris.
L'accés a aquesta pàgina requereix autorització. Podeu provar de canviar els directoris.
Aquesta guia us explica la configuració i la prova de l'exemple de lògica del servidor que integra el Power Pages amb el Microsoft Graph i el SharePoint en línia.
Pas 1: baixeu el paquet d'exemple
- Aneu al repositori https://github.com/microsoft/power-pages-samplesde GitHub .
- Seleccioneu Codi > de descàrrega ZIP.
- Després de descarregar-lo, extreu el fitxer ZIP a una carpeta local, per exemple:
C:\PowerPages\ServerLogic - Aneu al camí extret:
samples/server-logic/sharepoint-integrationAquesta carpeta conté el paquet de solucionsevent-registration.zip, que inclou els recursos del lloc del Power Pages que importareu en passos posteriors.
Alternativament, utilitzeu git clone si ho preferiu.
git clone https://github.com/microsoft/power-pages-samples.git
cd power-pages-samples/samples/server-logic/sharepoint-integration
Pas 2: Requisits previs
Abans de començar, assegureu-vos de tenir:
- Accés a Microsoft Entra ID (Azure AD) amb permís per registrar aplicacions.
- Accés a un lloc del SharePoint Online (per exemple, https://contoso.sharepoint.com/sites/EventSite).
Pas 3: Crear i configurar l'aplicació Entra ID
Necessiteu un registre d'aplicació per permetre que el codi lògic del servidor s'autentiqui al Microsoft Graph.
Crea el registre de l'aplicació
- Aneu al portal de l'Azure i seleccioneu Registres d'aplicacions.
- Seleccioneu + Nou registre.
- Proporcioneu un nom (per exemple, PowerPages-Graph-Integration).
- Trieu Comptes només en aquest directori de l'organització.
Nota
No cal que proporcioneu un URI de redirecció per a aquesta mostra.
- Seleccioneu Registra.
Configuració de permisos de l'API
- A l'aplicació nova, aneu a Permisos de> l'APIAfegeix un permís.
- SeleccioneuPermisos de l'aplicaciódel Microsoft Graph>.
- Afegiu els permisos següents:
- Sites.ReadWrite.All (per a operacions de fitxers del SharePoint)
- Mail.Send (opcional, només és necessari si teniu previst habilitar la secció de correu electrònic)
- Seleccioneu Concedeix el consentiment de l'administrador per al vostre inquilí.
Crear un secret de client
- Aneu a Certificats i secrets Secrets>del client.
- Seleccioneu + Secret del client nou.
- Introduïu una descripció i trieu un període de caducitat (per exemple, sis mesos).
- Seleccioneu Afegeix i copieu el valor generat immediatament: aquest és el vostre CLIENT_SECRET.
Recolliu els valors necessaris
Des de l'aplicació de l'Azure:
- ID de client> CLIENT_ID
- Identificador >d'inquilí TENANT_ID
- Secret del> client CLIENT_SECRET
Pas 4: Identifiqueu el lloc i la carpeta del SharePoint
L'script carrega els tiquets d'esdeveniment generats a un lloc del SharePoint.
- Identifiqueu el nom d'amfitrió i el camí del lloc del SharePoint: Per exemple: HOSTNAME =
contoso.sharepoint.comSITE_PATH =/sites/EventSite - Assegureu-vos que existeixi una biblioteca de documents anomenada Documents (per defecte).
Pas 5: Desplegar el paquet
Creeu un lloc nou important el lloc baixat recentment des de GitHub. Per obtenir informació sobre com importar el lloc, vegeu power-pages-solutions
Durant l'actualització del lloc, actualitzeu els valors de les variables d'entorn. Actualitzeu els valors següents que heu capturat en els passos anteriors:
- ID de client
- Identificador d'inquilí
- Secret del client (conserveu aquest valor en un dipòsit de claus i utilitzeu-lo a la variable d'entorn. Per a les proves, podeu mantenir-lo directament a la variable d'entorn.)
- NOM DE L'AMFITRIÓ
- SITE_PATH
Script destacat de l'script: Secció de configuració
const CLIENT_ID = Server.SiteSetting.Get("CLIENT_ID");
const CLIENT_SECRET = Server.SiteSetting.Get("CLIENT_SECRET");;
const TENANT_ID = Server.SiteSetting.Get("TENANT_ID");
const HOSTNAME = Server.SiteSetting.Get("HOSTNAME");
const SITE_PATH = Server.SiteSetting.Get("SITE_PATH");
Es carreguen de manera segura des de la configuració del lloc del Power Pages (variables d'entorn).
Pas 6: Prova la integració del SharePoint
L'script processa els enviaments de formularis de registre d'esdeveniments, adquireix un testimoni d'accés al Microsoft Graph, genera un bitllet HTML, el carrega al SharePoint i crea un registre al Dataverse.
S'ha destacat l'script: Crida al Microsoft Graph per al testimoni d'accés
async function getAccessToken() {
const body = {
"client_id": CLIENT_ID,
"client_secret": CLIENT_SECRET,
"scope": "https://graph.microsoft.com/.default",
"grant_type": "client_credentials"
};
const tokenResp = await Server.Connector.HttpClient.PostAsync(
`https://login.microsoftonline.com/${TENANT_ID}/oauth2/v2.0/token`,
JSON.stringify(body),
{ "Content-Type": "application/x-www-form-urlencoded" },
"application/x-www-form-urlencoded"
);
const tokenJson = JSON.parse(JSON.parse(tokenResp).Body);
return tokenJson.access_token;
}
S'està destacant l'script: Carregant el bitllet al SharePoint
const siteResp = await Server.Connector.HttpClient.GetAsync(
`https://graph.microsoft.com/v1.0/sites/${HOSTNAME}:${SITE_PATH}`,
{ Authorization: `Bearer ${accessToken}` }
);
const siteId = JSON.parse(JSON.parse(siteResp).Body).id;
const driveResp = await Server.Connector.HttpClient.GetAsync(
`https://graph.microsoft.com/v1.0/sites/${siteId}/drive`,
{ Authorization: `Bearer ${accessToken}` }
);
const driveId = JSON.parse(JSON.parse(driveResp).Body).id;
const uploadUrl = `https://graph.microsoft.com/v1.0/drives/${driveId}/root:/Tickets/${fileName}:/content`;
await Server.Connector.HttpClient.PutAsync(
uploadUrl,
htmlTicket,
{ Authorization: `Bearer ${accessToken}`, "Content-Type": "text/html" },
"text/html"
);
Després d'una execució correcta:
- Apareix un registre nou al Dataverse a crd69_eventregistrations.
- Es carrega un fitxer de tiquet HTML a la carpeta Entrades de documents > del SharePoint.
- El camp crd69_ticketurl conté l'enllaç al fitxer de tiquets carregat.
(Opcional) Pas 7: activa la notificació per correu electrònic
Per enviar un correu electrònic de confirmació a l'assistent:
- Descomenta la secció "Envia un correu electrònic de confirmació" de l'script.
- Substituïu {senderUserId} per un identificador d'usuari vàlid habilitat per a la bústia de correu (per exemple, un compte de servei).
- Assegureu-vos que el permís de Mail.Send estigui afegit i que l'administrador hagi consentit.
Informació relacionada
Informació general de la lògica del servidor
Lògica del servidor d'autor
Objectes del servidor
Com interactuar amb taules del Dataverse mitjançant la lògica del servidor