Intercom.io API list/listBy/find 在响应正文中仅返回 50 个用户
Posted
技术标签:
【中文标题】Intercom.io API list/listBy/find 在响应正文中仅返回 50 个用户【英文标题】:Intercom.io API list/listBy/find only returning 50 users in response body 【发布时间】:2016-10-02 21:35:09 【问题描述】:intercom-node https://github.com/intercom/intercom-node 的文档说我可以使用 client.users.list 或 client.users.listBy 或 client.users.find 访问我的用户数据。
问题是我在响应对象的正文中只获得了 50 个用户(即 resp.body.users.length 为 50),我需要所有用户。有谁知道如何查询 API 以从 intercom.io 应用程序中获取所有用户?
var Intercom = require('intercom-client')
var client = new Intercom.Client('<APP ID>', '<API KEY>')
client.users.list( function(err, resp)
console.log(resp.body.users.length)
)
【问题讨论】:
听起来他们默认分页/限制。这可能对您有帮助 - github.com/intercom/intercom-node#pagination 【参考方案1】:使用当前库版本2.11.2
可以通过指定页码并使用.listBy
或在使用.list
后使用分页对象https://github.com/intercom/intercom-node#pagination 来检索下一页(下面的演示代码)
var Intercom = require('intercom-client');
var client = new Intercom.Client( token: TOKEN );
client.users.listBy(page: 1, printDetails);
client.users.listBy(page: 2, printDetails);
client.users.list(printDetailsAndGetNextPage);
client.users.listBy(page: 1, printDetailsAndGetNextPage);
function printDetails(d)
var output = d.body;
console.log("Page: " + output.pages.page + " out of " + output.pages.total_pages);
function printDetailsAndGetNextPage(d)
var output = d.body;
console.log("Page: " + output.pages.page + " out of " + output.pages.total_pages);
if(output.pages.page < output.pages.total_pages)
console.log("Getting next page...");
client.nextPage(output.pages, printDetails);
else
console.log("No more pages left");
【讨论】:
以上是关于Intercom.io API list/listBy/find 在响应正文中仅返回 50 个用户的主要内容,如果未能解决你的问题,请参考以下文章