ユーザーのメールをバッチで読み込む

完了

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.nextLinkgraphClient に返します。

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 の値を常に使用して詳細データを読み込みます。

次の手順

アプリを拡張して、ユーザーがその他のメールをバッチで読み込めるようにしましょう。