2017-09-25 16 views
1

Ich versuche Delta-Abfragen auf meinem AD zu verwenden und es funktioniert perfekt, wenn ich sie über Graph Explorer ausprobiere, aber überhaupt nicht mit meiner App funktioniert, bekomme ich dies:Delta-Abfragen werden von 'Benutzern' nicht unterstützt.

message=Invalid request. Delta query is not supported by this resource.

Meine app ist eine 'alte' app, was bedeutet es in Azure registriert wurde, mit alten WAAD graph api zu arbeiten. Funktioniert es deshalb nicht? Oder könnte das daran liegen, dass meine App eine gewisse Berechtigung hat, die Graph Explorer benötigt? Ich kann "Benutzer" ohne irgendwelche Probleme lesen, es sind nur Delta-Abfragen, mit denen ich Probleme habe.

Die Anwendung fordert die folgenden Berechtigungen:

Access the directory as the signed-in user

Read all users' basic profiles

Sign in and read user profile

Token-Anfragen von der Bibliothek verwaltet werden, wird es für die folgenden Bereiche zu fragen: openid Profil

+0

Was meinst du mit deiner Token-Anfrage fragt nach 'openid profile' Bereichen? Welche Bibliothek verwendest du? –

+0

Ich verwende Microsoft.IdentityModel.Clients.ActiveDirectory. Die Bibliothek macht diese Anforderung an den login.microsoftonline.com: '' 'GET /common/oauth2/authorize?client_id=MY_CLIENT_ID&response_mode=form_post&response_type=code+id_token&scope=openid+profile&state=OpenIdConnect.AuthenticationProperties%3dVynGs5Isa...&nonce= 6364 ... & redirect_uri = REDIRECT_URI & post_logout_redirect_uri = URI''' –

Antwort

1

Hatte den ganzen Tag zu diesem Thema zu verbringen, hier ist was los war. Ich war das Hinzufügen dieser HTTP-Header der Anforderung (pro einige Beispiel-Dokumentation):

Prefer: outlook.timezone="E. Europe Standard Time"

Und das ist, was die Delta-Anfragen Anfrage anbrach, sobald ich den Header entfernt haben - Anfrage Delta-Daten zurückgegeben statt eines Fehlers. Ich wünschte, der Fehler könnte anschaulicher sein, ich würde nicht so viel Zeit damit verbringen müssen, dies herauszufinden.

1

Wenn Sie Azure AD Graph verwenden, können Sie keine /delta Abfragen verwenden. AAD Graph API und Microsoft Graph API sind völlig unterschiedliche APIs. Anrufe zu einem sind nicht mit dem anderen austauschbar.

Wenn Sie versuchen, /delta zu nutzen, müssen Sie Ihre Anwendung neu strukturieren, um Microsoft Graph API zu verwenden.

+0

Entschuldigung, wenn ich nicht klar genug war, benutze ich die neue Graph API, neuen Endpunkt. Das einzig mögliche Problem ist, dass es sich bei meiner App um eine "Legacy" -Anwendung handelt, die in Azure registriert ist, anstatt über die neue spezielle Seite zum Registrieren von Graph-Apps. –

+0

Haben Sie die Bereiche für Graph hinzugefügt und dem aktualisierten Berechtigungssatz zugestimmt? –

+0

Ich habe die Frage aktualisiert. –

0

@ devmiles.com: Ich bin froh, dass es für Sie gearbeitet hat. Können Sie genau angeben, welche API und welche Version Sie verwendet haben? Können Sie mit dem Dokument für diese API verknüpfen?

Haben Sie es auch in der Zeitzone ausgeführt, die von der Bibliothek zum HTTP-Header hinzugefügt wurde?

Verwandte Themen