2016-07-07 13 views
0

IDリスト(ItemIdsとも呼ばれます)があれば、OutlookREST APIを使用して効率的にメールを取得できますか?IdとOutlook REST APIを使用してメールアイテムを取得する

次のリクエストを偽造しようとしました。

私はBadRequest 400のエラーを受け取りました:「プロパティ 'Id'は非常に明確なフィルタリングをサポートしていません。

回避策として、私はInternetMessageIdを使用します(電子メールの「コピー」が返されるかどうかは関係ありません)。より良いパフォーマンスを達成するためにIDを使用する方法はありますか?

答えて

1

batch requestには、各IDに対して最大12個の個別のGETリクエストを行うことができます。これは現在エンドポイントbetaでのみ利用可能です。以下のような

何か:

POST https://outlook.office.com/api/beta/$batch HTTP/1.1 

Authorization: Bearer aGFwcHlnQGRr== 
Host: outlook.office.com 
Content-Type: multipart/mixed; boundary=batch_myBatchId 


--batch_myBatchId 
Content-Type: application/http 
Content-Transfer-Encoding: binary 

GET /api/beta/me/messages/{id1} HTTP/1.1 


--batch_myBatchId 
Content-Type: application/http 
Content-Transfer-Encoding: binary 

GET /api/beta/me/messages/{id2} HTTP/1.1 


--batch_myBatchId-- 
+0

はどうもありがとうございました。ベータエンドポイントでInternetMessageIdがMessageオブジェクトのプライマリプロパティであることがわかります。あなたが知っているように、ItemIdの20項目のバッチリクエストを実行すると、 'InternetMessageId'の20の 'or'文で$フィルタを実行するよりも大幅に高速になります。 –

+1

私はハード・データを持っていませんが、一般的にはあまりにも複雑なフィルタは避けてください。私はIdsでの取得がより速くなると思います。 –

+0

あなたの洞察をいただきありがとうございます。 –

関連する問題