我正在尝试从Twitter中的列表(组)中获取所有成员名称。我使用以下代码 - 但不知道为什么我收到错误。例如,我有兴趣从以下链接获取所有成员 - https://twitter.com/journalismnews/lists/uk-national-journalists?lang=en
在这种情况下,所有者名称是newsismnews和slug(名单名称)是英国国家记者。
我收到一条错误消息"线程中的异常" main" 404:请求的URI无效或请求的资源(例如用户)不存在。当请求的方法不支持请求的格式时,也会返回。 消息 - 抱歉,该页面不存在。 代码 - 34"。
以下是我的代码:
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.*;
import twitter4j.*;
import twitter4j.conf.*;
public class TweetExtractAllUsersfromTwitterGroup {
public static void main(String[] a) throws IOException, TwitterException {
ConfigurationBuilder cb= new ConfigurationBuilder ();
cb.setDebugEnabled(true)
.setOAuthConsumerKey("XXX")
.setOAuthConsumerSecret("XXX")
.setOAuthAccessToken("XXX")
.setOAuthAccessTokenSecret("XXX");
Twitter twitter = new TwitterFactory(cb.build()).getInstance();
String trgt="C:\\Twitter data\\usernames.csv";
String ownerScreenName="journalismnews";
String slug="uk_national_journalists"; //list name
Set<String> members=new HashSet<String>();
long cursor = -1;
PagableResponseList<User> membes;
do {
membes = twitter.getUserListMembers(ownerScreenName,slug,cursor);
for (User mem : membes) {
members.add(mem.getScreenName());
System.out.println(mem.getScreenName());
}
} while ((cursor = membes.getNextCursor()) != 0);
try
{
BufferedWriter bw=new BufferedWriter (new FileWriter (trgt));
for (String s:members)
{
bw.write(s);
bw.write("\n");
}
bw.flush();
bw.close();
}catch(Exception e)
{
e.printStackTrace();
}
System.out.println ("--------------------------------------");
}
}