【发布时间】:2017-08-06 18:06:19
【问题描述】:
我试图弄清楚如何从特定的 Twitter 列表中获取一组用户 ID,并根据 TwitterAPI JSON 响应中的属性自动转到下一个光标,即 next_cursor。文档:https://dev.twitter.com/rest/reference/get/lists/members || https://dev.twitter.com/overview/api/cursoring
我的代码:
var Twitter = require('twitter')
var numFromCursor = -1;
var client = new Twitter({
consumer_key: process.env.tw_consumer_key,
consumer_secret: process.env.tw_consumer_secret,
access_token_key: process.env.tw_access_token,
access_token_secret: process.env.tw_access_token_secret
})
var cursorIterator = (twitClient, cursorObj) => {
twitClient.get('https://api.twitter.com/1.1/lists/members.json',
{list_id: '*insert twitter list_id*', cursor: cursorObj})
.then((list)=>{
console.log(list);
cursorObj = list.next_cursor
return list
})
.catch((err)=>{
console.log(err);
})
}
do{
cursorIterator(client, numFromCursor)
}
while(numFromCursor != 0)
此时代码正在记录一个错误,表明参数未定义。我查看了 Twitter npm 模块源代码,我看不到任何会导致此错误发生的内容。任何帮助将不胜感激!
【问题讨论】:
-
您是否尝试过使用回调而不是承诺? docs 表示使用 Promise 时需要满足两个条件。
-
我切换到回调。它在 do/while 循环之外有效(promise 版本也有效),但在循环内部无效。
标签: node.js twitter pagination cursor