text: Tutorial – PHP – Microsoft Graph – Office365 in jede Website integrieren | Hendrik Thurau Enterprises
  TUTORIAL - PHP - MICROSOFT GRAPH - OFFICE365 IN JEDE WEBSITE INTEGRIEREN
  Microsoft Graph SDK für PHP
  Sie müssen microsoft/microsoft-graph via composer in Ihrem PHP-Projekt installieren. Du kannst dies tun, indem du:
  composer erfordern microsoft/microsoft-graph
  oder über Ihre Komponistendatei composer.json
  Wenn Sie nicht wissen, wie man den Komponisten installiert, können Sie hier nachlesen: <a href="https://solid-visions.ch/2019/03/21/tutorial-how-to-install-composer-to-your-php-project">https://solid-visions.ch/2019/03/21/tutorial-how-to-install-composer-to-your-php-project</a>
  Das GIT-Repository von msgraph-sdk-php finden Sie hier: <a href="https://github.com/microsoftgraph/msgraph-sdk-php">https://github.com/microsoftgraph/msgraph-sdk-php</a>
  Die Übersicht über GRAPH finden Sie hier: <a href="https://docs.microsoft.com/en-us/graph/overview">https://docs.microsoft.com/en-us/graph/overview</a>
  ONEDRIVE GRAPH: <a href="https://docs.microsoft.com/en-us/onedrive/developer/rest-api/index?view=odsp-graph-online">https://docs.microsoft.com/en-us/onedrive/developer/rest-api/index?view=odsp-graph-online</a>
  Die vollständige Referenz der möglichen Verwendungen mit Erklärung für API v.1.0: <a href="https://docs.microsoft.com/en-us/graph/api/overview?view=graph-rest-1.0″>https://docs.microsoft.com/en-us/graph/api/overview?view=graph-rest-1.0</a>
  Passen Sie Ihren PHP-Curl an, damit Sie nicht in Schwierigkeiten geraten.
  cacert.pem kann direkt von unserer Website heruntergeladen werden: <a href="https://solid-visions.ch/wp-content/uploads/downloads/cacert.pem">https://solid-visions.ch/wp-content/uploads/downloads/cacert.pem</a>
  Wenn Sie das Zertifikat nicht setzen, werden Sie auf Fehler stoßen wie:
  RequestException in CurlFactory.php Zeile 187: cURL-Fehler 60: SSL-Zertifikatsproblem: Kann das Zertifikat des lokalen Ausstellers nicht erhalten (siehe http://curl.haxx.se/libcurl/c/libcurl-errors.html)
  GRAPH hat keine Authentifizierungsmethode enthalten, daher müssen Sie eine mit oauth2.
  Sie können das über den composer require league/oauth2-client
  GRAPH verwendet Guzzle HTTP Client, der vorinstalliert ist, so dass Sie gut daran tun können. Leider habe ich in meiner Programmierung festgestellt, dass http_errors intern von Middleware behandelt werden und es gab keinen Ausweg, so dass meine App abstürzte, ohne dass ich etwas tun konnte, um die Ausnahmen abzufangen. Deshalb habe ich einen eigenen Guzzle-Client mit deaktivierten http_errors erstellt und diesen an GRAPH übergeben. Auf diese Weise kann ich nach Fehlern suchen, wenn es keine gibt, kann ich weitermachen. Im folgenden Beispiel sehen Sie, wie Sie unseren benutzerdefinierten GUZZLE-Client verwenden können.
  und hier sehen wir, wie man es in GRAPH injiziert:
  Lesen Sie in diesem Artikel, wie Sie Ihre app Mieter-ID und Ihr Geheimnis erhalten: https://solid-visions.ch/2019/03/22/tutorial-azure-ad-webapp-registration-application-registry-portal-arp/
  Nehmen wir an, unser Projekt ist Larvel-basiert, also gehen wir von dieser Annahme aus. Aber es wird mit jedem anderen PHP genauso gut funktionieren. Damit alles reibungslos funktioniert, benötigen Sie einige wenige PHP-Dateien. Innerhalb unserer App benötigen wir einen Controller für die Authentifizierung. In Laravel würden wir das tun, indem wir
  Man könnte sagen, dass ich env('OAUTH_APP_ID') verwenden und alle meine Variablen in meine.env-Datei einfügen könnte. Ja' - du hast Recht, aber wenn ich nicht aufpasse und vergesse zu benutzen.
  Meine App wird nicht funktionieren.
  Lassen Sie uns nun unser TokenStorage erstellen.
  Füge zu deinem App-Ordner einen Ordner mit dem Namen TokenStore hinzu.
  Bitte beachten Sie, dass wir mit Callbacks arbeiten, um unsere Access-Token zu erhalten, daher müssen wir die entsprechende Funktion für diesen Callback "localhost\mscallback" oder wie auch immer Sie diesen Endpunkt nennen wollen, ersetzen Sie auch localhost durch Ihre Domain. Das werden wir später tun.
  Dies ist der Inhalt unserer TokenCache.php:
  Sie sehen, dass wir jeden Weg zu einer bestimmten Funktion innerhalb unseres AuthControllers weisen.
  Sie sehen, dass wir jeden Weg auf eine bestimmte Funktion innerhalb unseres AuthControllers zeigen.
  Um eine sehr elementare An- und Abmeldemöglichkeit für die Verbindung mit GRAPH zu haben, können Sie folgendes HTML verwenden: