ユーザーのメールをバッチで読み込む
JavaScript アプリを構築し、Microsoft 365 に接続し、Microsoft Graph を使用してユーザーの最新の 10 通のメールを表示しました。 次に、アプリを拡張して、ユーザーが 10 アイテムごとのバッチでメールを読み込めるようにしましょう。
Microsoft Graph を使用してページングされたデータを取得する
以前使用したメッセージ API のように、データ コレクションを返す Microsoft Graph API を呼び出すと、Microsoft 365 に保存されているデータのサブセットを受け取ります。 アプリが取得するデータが他にもあるかどうかを確認するには、応答に @odata.nextLink
プロパティが含まれているかどうかをチェックします。
var emails = graphClient
.api('/me/messages')
.select('subject,receivedDateTime')
.orderby('receivedDateTime desc')
.top(10)
.get();
if (emails['@odata.nextLink']) {
// more data available
}
@odata.nextLink
プロパティには、結果の 2 ページ目を取得するために呼び出すことができる完全 URL が含まれています。 この URL には、取得するプロパティ、データの並べ替え方法、取得するアイテム数など、初回要求からのすべての構成が保持されています。
次のデータのバッチを読み込むには、URL を以下の @odata.nextLink
でgraphClient
に返します。
var emails = graphClient
.api('/me/messages')
.select('subject,receivedDateTime')
.orderby('receivedDateTime desc')
.top(10)
.get();
if (emails['@odata.nextLink']) {
var moreEmails = graphClient
.api(emails['@odata.nextLink'])
.get();
}
2 ページ目の結果を取得した後、結果に @odata.nextLink
プロパティ セットが含まれているどうかをチェックすることで、他にもデータがあるかどうかを確認できます。
注意
Microsoft Graph は OData の 4 つの標準に従います。 標準の一部は $top
パラメーターと $skip
パラメーターの組み合わせを使用して (Microsoft Graph SDK の top
メソッドと skip
メソッド)、データの特定のページを取得する機能です。 この機能は、メール フォルダーがページングに影響する可能性のあるメール以外のデータを含む可能性があるため、メールと連携させることはできません。 このため、メールと連携させる場合は @odata.nextLink
の値を常に使用して詳細データを読み込みます。
次の手順
アプリを拡張して、ユーザーがその他のメールをバッチで読み込めるようにしましょう。