Tee kysely Microsoft Graphista SDK:iden avulla
Microsoft Graph SDK:t on suunniteltu yksinkertaistamaan laadukkaiden, tehokkaiden ja kestävien sovellusten rakentamista, jotka käyttävät Microsoft Graphia. SDK:t sisältävät kaksi osaa: palvelukirjaston ja ydinkirjaston.
Palvelukirjasto sisältää malleja ja pyynnön luojia, jotka on luotu Microsoft Graphin metatiedoista monipuolisen ja löydettävissä olevan käyttökokemuksen tarjoamiseksi.
Ydinkirjasto tarjoaa joukon ominaisuuksia, jotka parantavat työskentelyä kaikkien Microsoft Graph -palvelujen kanssa. Upotettu tuki uudelleenyritysten käsittelylle, suojatuille uudelleenohjauksille, läpinäkyvälle todentamielle ja hyötykuorman pakkaamiselle, paranna sovelluksesi microsoft Graph -vuorovaikutusten laatua ilman monimutkaisuutta ja jätä samalla sinut täysin hallintaan. Ydinkirjasto tukee myös yleisiä tehtäviä, kuten kokoelmien sivuttamista ja eräpyyntöjen luomista.
Tässä osiossa tutustut käytettävissä oleviin SDK:ihin ja näet joitakin koodiesimerkkejä yleisimmistä toiminnoista.
Muistiinpano
Tämän yksikön koodinäytteet perustuvat Microsoft Graph .NET SDK:n versioon 5.65.
Microsoft Graph .NET SDK:n asentaminen
Microsoft Graph .NET SDK sisältyy seuraaviin NuGet-paketteihin:
-
Microsoft.Graph – Sisältää mallit ja pyynnön koontiversiot, jotta he voivat käyttää
v1.0päätepistettä sujuvan ohjelmointirajapinnan avulla.Microsoft.Graphon riippuvainenMicrosoft.Graph.Core. -
Microsoft.Graph.Beta – Sisältää mallit ja pyynnön koostajat, jotta he voivat käyttää
betapäätepistettä sujuvan ohjelmointirajapinnan avulla.Microsoft.Graph.Betaon riippuvainenMicrosoft.Graph.Core. - Microsoft.Graph.Core – Microsoft Graph -kutsujen ydinkirjasto.
Microsoft Graph -asiakkaan luominen
Microsoft Graph -asiakasohjelma on suunniteltu yksinkertaiseksi kutsujen tekemiseksi Microsoft Graphiin. Voit käyttää yksittäistä asiakasesiintymää koko sovelluksen elinkaaren ajan. Seuraavissa koodiesimerkeissä näytetään, miten Voit luoda Microsoft Graph -asiakasohjelman esiintymän. Todennuspalvelu käsittelee sovelluksen käyttöoikeustietueiden hankkimisen. Eri sovelluspalveluntarjoajat tukevat eri asiakasskenaarioita. Lisätietoja siitä, mikä palvelu ja vaihtoehdot sopivat skenaarioosi, on kohdassa Todennuspalvelun valitseminen.
var scopes = new[] { "User.Read" };
// Multi-tenant apps can use "common",
// single-tenant apps must use the tenant ID from the Azure portal
var tenantId = "common";
// Value from app registration
var clientId = "YOUR_CLIENT_ID";
// using Azure.Identity;
var options = new TokenCredentialOptions
{
AuthorityHost = AzureAuthorityHosts.AzurePublicCloud
};
// Callback function that receives the user prompt
// Prompt contains the generated device code that you must
// enter during the auth process in the browser
Func<DeviceCodeInfo, CancellationToken, Task> callback = (code, cancellation) => {
Console.WriteLine(code.Message);
return Task.FromResult(0);
};
// /dotnet/api/azure.identity.devicecodecredential
var deviceCodeCredential = new DeviceCodeCredential(
callback, tenantId, clientId, options);
var graphClient = new GraphServiceClient(deviceCodeCredential, scopes);
Lue tietoja Microsoft Graphista
Jos haluat lukea tietoja Microsoft Graphista, sinun on ensin luotava pyyntö-objekti ja suoritettava sitten GET-menetelmä pyynnössä.
// GET https://graph.microsoft.com/v1.0/me
var user = await graphClient.Me
.GetAsync();
Entiteettiluettelon noutaminen
Entiteettiluettelon noutaminen muistuttaa yksittäisen entiteetin noutamista, paitsi että pyynnön määrittämiseen on muitakin vaihtoehtoja.
$filter kyselyparametrilla tulosjoukkoa voidaan pienentää vain niille riveille, jotka vastaavat annettua ehtoa.
$orderBy kyselyparametripyynnöt, jotka palvelin tarjoaa määritettyjen ominaisuuksien mukaan lajiteltujen entiteettien luettelon.
// GET https://graph.microsoft.com/v1.0/me/messages?
// $select=subject,sender&$filter=subject eq 'Hello world'
var messages = await graphClient.Me.Messages
.GetAsync(requestConfig =>
{
requestConfig.QueryParameters.Select =
["subject", "sender"];
requestConfig.QueryParameters.Filter =
"subject eq 'Hello world'";
});
Entiteetin poistaminen
Poistopyynnöt muodostetaan samalla tavalla kuin pyynnöt entiteetin noutamiseksi, mutta ne käyttävät DELETE pyyntöä GETsijaan.
// DELETE https://graph.microsoft.com/v1.0/me/messages/{message-id}
// messageId is a string containing the id property of the message
await graphClient.Me.Messages[messageId]
.DeleteAsync();
Uuden entiteetin luominen
Sujuvaa tyyliä ja mallipohjaisia SDK:ita varten kokoelmiin voidaan lisätä uusia kohteita POST menetelmällä.
// POST https://graph.microsoft.com/v1.0/me/calendars
var calendar = new Calendar
{
Name = "Volunteer",
};
var newCalendar = await graphClient.Me.Calendars
.PostAsync(calendar);