2016-09-28 1 views
18

Ich versuche, eine Liste der Nachrichten zu erhalten, die von Microsoft Graph API nach Empfänger gefiltert werden. Die URL ich für die Anforderung verwende ist:Nachrichten können nicht nach Empfänger in Microsoft Graph API gefiltert werden. Ein oder mehrere ungültige Knoten

https://graph.microsoft.com/beta/me/messages?$filter=toRecipients/any(r: r/emailAddress/address eq '[Email Address]')

Aber ich dies immer ist die Antwort:

{ 
    "error": { 
     "code": "ErrorInvalidUrlQueryFilter", 
     "message": "The query filter contains one or more invalid nodes.", 
     "innerError": { 
      "request-id": "7db712c3-e337-49d9-aa8d-4a5d350d8480", 
      "date": "2016-09-28T16:58:34" 
     } 
    } 
} 

Eine erfolgreiche Anforderung sollte wie folgt aussehen (mit viel mehr Daten, die ich habe weggelassen).

{ 
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#users('99999999-9999-9999-9999-999999999999')/messages", 
    "@odata.nextLink": "https://graph.microsoft.com/beta/me/messages?$skip=10", 
    "value": [ 
     { 
      "toRecipients": [ 
       { 
        "emailAddress": { 
         "name": "[Name]", 
         "address": "[Email Address]" 
        } 
       } 
      ], 
     } 
    ] 
} 

Die Anfrage funktioniert, wenn ich den Filter entferne, und ich bin in der Lage, Anfragen mit einfacheren Filtern durchzuführen.

Gibt es ein Problem mit meiner URL oder gibt es eine andere Möglichkeit, die Anfrage zu stellen?

+0

Es ist definitiv etwas falsch mit Ihrem $ Filter-Parameter. Was genau willst du mit deinem Filter erreichen? –

+0

Ich versuche, eine Liste aller Nachrichten zu erhalten, die an eine bestimmte E-Mail-Adresse gesendet wurden. – Dave

+1

Das sieht definitiv wie ein Fehler aus, ich verbringe nur einen halben Tag, bevor ich mich entscheide, mit der Suche zu beginnen. Hätte hier zuerst checken sollen :(. Existiert in Outlook Rest api v1.0 und v2.0 auch. Ich konnte keinen Ort finden, um es zu loggen. Jeder weiß, wie man es protokolliert? – Dmitriy

Antwort

2

Ihre Filter scheint korrekt nach dieser OData Basic Tutorial

Sie das unten stehende Filter Beispiel haben die auch einen komplexen Datentyp abfragt, so dass Sie die richtige Art und Weise zu haben scheinen.

Zurück zu Microsoft Graph funktioniert die unten Abfrage, so dass ich nur davon ausgehen kann, dass die Abfrage komplexer Datentypen unterbrochen ist.

https://graph.microsoft.com/v1.0/me/messages?$filter=categories/any(c: c eq 'test') 

Keine Antwort, aber wahrscheinlich nur bestätigen, was Sie erlebt haben.

2

Eine weitere Möglichkeit, den Antrag zu stellen, anstatt möglicherweise nicht Filter und verwenden Sie die Suche verwenden, je nach genau das, was Sie wollen (und Sie dies bereits versucht haben):

https://graph.microsoft.com/beta/me/messages?$search="to:[Email Address]"

Verwandte Themen