私はコーディングで非常に新しいので、いくつか問題があります。 Twitterで特定のユーザーのフォロワーのフォロワーのフォロワーを表示したいと思います。これをコード化して深みの限界を設定することができます。しかし、小さなサンプルでコードを実行しているときに、私は同じユーザーに再度遭遇し、私のコードはこれらのユーザーのフォロワーを再表示することがわかりました。これを回避して次のユーザーにスキップできますか?私のコードを実行している間、私は401エラーで発生した、ところで前に表示された同じTwitterユーザーのフォロワーのリストを取得しないようにするには
:あなたは以下の私のコードを見つけることができます。私が作業しているリストにはプライベートユーザがいて、そのユーザが自分のコードをキャッチすると、そのユーザは停止します。さらに、私はこの問題にどのように対処できますか?そのようなユーザーをスキップしてコードを停止させないようにしたいと思います。
ご協力いただきありがとうございます。
PS:私は、私は大規模なサンプルでの作業429エラーに遭遇するだろうことを知っています。これらの問題を修正した後、関連する議論を検討して対処する予定です。
public class mainJava {
public static Twitter twitter = buildConfiguration.getTwitter();
public static void main(String[] args) throws Exception {
ArrayList<String> rootUserIDs = new ArrayList<String>();
Scanner s = new Scanner(new File("C:\\Users\\ecemb\\Desktop\\rootusers1.txt"));
while (s.hasNextLine()) {
rootUserIDs.add(s.nextLine());
}
s.close();
for (String rootUserID : rootUserIDs) {
User rootUser = twitter.showUser(rootUserID);
List<User> userList = getFollowers(rootUser, 0);
}
}
public static List<User> getFollowers(User parent, int depth) throws Exception {
List<User> userList = new ArrayList<User>();
if (depth == 2) {
return userList;
}
IDs followerIDs = twitter.getFollowersIDs(parent.getScreenName(), -1);
long[] ids = followerIDs.getIDs();
for (long id : ids) {
twitter4j.User child = twitter.showUser(id);
userList.add(child);
getFollowers(child, depth + 1);
System.out.println(depth + "th user: " + parent.getScreenName() + " Follower: " + child.getScreenName());
}
return userList;
}
}
と私は突然、ユーザーのアカウントが保護されているが、我々のアプリケーションに許可を与えた私達のユーザーがその保護されたユーザーは、我々はまた、そのアカウントのフォロワーにアクセスすることができ、次のされている場合、追加するために1つのより多くの事を覚えています。私は自分自身を明確に表現しているかどうかわからないが、そういうものは追加できる... – kadir