Ich bin ziemlich neu in der Office 365 API- Ich bin auf der Suche nach Programmauthentifizierung, aber die Beispiele, mit denen ich getestet habe, erfordern die Anmeldeseite durchlaufen. Ist das möglich und wenn ja, kann mich jemand auf einige Beispiele hinweisen (ich werde das meistens für den Kalender verwenden). Vielen Dank.Office 365 API programmatische Authentifizierung
Antwort
Es gibt zwei grundlegende Authentifizierungsabläufe von OAuth2.0 für Azure AD.
Die erste ist Berechtigungscode Erteilungsfluss, der für den Zugriff auf Web-APIs durch native Clients und Websites in Azure Active Directory (Azure AD) verwendet wurde. In diesem Ablauf weist der Benutzer den Zugriff auf eine Clientanwendung zu.
Die zweite ist Client-Berechtigungsnachweis Grant Flow, die es einem Webdienst (einem vertraulichen Client) erlaubt, seine eigenen Anmeldeinformationen zu verwenden, um sich beim Aufrufen eines anderen Webdienstes zu authentifizieren, anstatt sich als Benutzer auszugeben. In diesem Szenario ist der Client normalerweise ein Webdienst der mittleren Schicht, ein Dämonendienst oder eine Website.
Hier ist ein Beispiel, dass das Grant-Flow-Client-Credentials mit den Nachrichten von bestimmten Benutzern für Ihre Referenz zu erhalten:
string clientId = "";
string clientsecret = "";
string tenant = "yourdomain.onmicrosoft.com";
var authUri = "https://login.microsoftonline.com/"+tenant+"/oauth2/token";
var RESOURCE_URL = "https://outlook.office.com";
HttpClient client = new HttpClient();
var authContext = new AuthenticationContext(authUri);
var credential = new ClientCredential(clientId: clientId, clientSecret: clientsecret);
var result = authContext.AcquireTokenAsync(RESOURCE_URL, credential).Result;
client.DefaultRequestHeaders.Add("Authorization", "bearer " + result.AccessToken);
var response = client.GetAsync("https://outlook.office.com/api/v2.0/users/[email protected]/messages").Result;
Console.WriteLine(response.Content.ReadAsStringAsync().Result);
und das Office-365-REST-API zu verwenden, müssen wir die App registrieren zuerst. Für Details verweisen wir auf here.
Ich bin nicht sicher, ob das funktioniert - alles, was ich gelesen habe, legt nahe, dass Sie ein X.509-Zertifikat im Client-Credential-Flow verwenden müssen. [Siehe diese Seite für weitere Informationen] (https://blogs.msdn.microsoft.com/exchangedev/2015/01/21/building-daemon-or-service-apps-with-office-365-mail-calendar-and -contacts-apis-oauth2-client-credential-flow /) – Ben
Der Client-Credential-Flow unterstützt zwei Möglichkeiten. Einer benutzt das Geheimnis und der andere benutzt das Zertifikat. –
- 1. Office 365 Rest API - Daemon Woche Authentifizierung
- 2. Office 365 Kalender API
- 3. Office 365 api in PHP
- 4. Office 365 APIs Microsoft Graph-Authentifizierung fehlgeschlagen
- 5. MVC zur Authentifizierung gegen Office 365 AD
- 6. Token in Office 365 Oauth2-Authentifizierung abrufen
- 7. integrieren Sie Office 365-Authentifizierung in asp.mvc
- 8. Anbindung an Office 365 von EWS API
- 9. Office 365: Organisationseinheit
- 10. Verwendung von Office 365 API (Rest API) mit ASP Classic
- 11. Multifaktor-Authentifizierung zu 365 innerhalb einer Sideloading Office App?
- 12. Autorisierung für Office 365/Sharepoint online
- 13. SharePoint Office 365 und TFS
- 14. Google Identity Toolkit für Office 365-Konten
- 15. Office 365-REST-API: Korrigieren Sie für die Sommerzeit
- 16. Ersetzt die Graph-API den Office 365 Reporting-Webdienst?
- 17. Office 365 Management-Aktivität api Beispielcode und Preisgestaltung
- 18. Office 365 API Ruby Beispiel App ist gebrochen
- 19. Erstellen von E-Mail-Alias mit Office 365 api
- 20. E-Mail-Absenderadresse mit der Office 365-REST-API suchen
- 21. Kann nicht in E-Mail mit Office 365 REST-API
- 22. Verständnis von Microsoft API-Antwort für Office 365
- 23. Office 365 Unified API-Fehler beim Löschen eines Kalenders
- 24. Abrufen des Ressourcenzeitplans von Office 365?
- 25. Office 365 Kalender Event NoticificationURL zu localhost
- 26. Connect Azure Funktion zu Office 365 Fluss
- 27. Excel 2016 und Office 365 benutzerdefinierte Dokumenteigenschaft
- 28. Argument Fehler mit Office 365 Cmdlet
- 29. Office 365-API - Erstellen eines neuen Benutzers, Abrufen von Lizenzinformationen; Welche API soll verwendet werden?
- 30. Mitglied zur Office 365-Gruppe mit JSON/JavaScript hinzufügen
Fragen nach Code/Software/Dokumentation/Beispiele/etc .. ist EXPLIZITE off-topic. –