Graph API:中断分页的正确方法是什么

问题描述 投票:0回答:1

我正在使用此脚本来获取聊天记录。我最多需要100个聊天,但可能没有100条消息。如何在此脚本中处理这种情况?

我正在使用Node Package Microsoft Graph Client。

const { Client, PageIterator } = require('@microsoft/microsoft-graph-client');
async getChatList(GroupChatId) {
    let messages = [];

    let count = 0;
    let pauseAfter = 100; // 10 messages limit

    let response = await this.graphClient
        .api(`/chats/${GroupChatId}/messages`)
        .version('beta')
        .get();


    let callback = (data) => {
        messages.push(data);
        count++;
        return count < pauseAfter;
    }

    let pageIterator = new PageIterator(this.graphClient, response, callback);
    await pageIterator.iterate();

    return messages;

}
microsoft-graph microsoft-graph-sdks
1个回答
0
投票

您需要使用条件语句检查消息是否有价值。

伪代码如下:

let callback = (data) => {

    if(data != "" || data != null)
    {
       messages.push(data);
       count++;
       return count < pauseAfter;
    }
   else{
      return;
   }

}
© www.soinside.com 2019 - 2024. All rights reserved.