私たちがやろうとしているのは、誰かが twitch チャンネルのフォロワーであるかどうかをチェックするボットを作成することです。それらがそうであるかどうかにかかわらず、ブール値を返します。この状況では、JSON オブジェクトを呼び出し、.get("error") を使用してそれが存在するかどうかを確認します。存在する場合は、フォロワーではないことを意味するため、false を返します。見つからない場合は JsonIOException をスローする必要がありますが、決してスローしません。彼らが従う場合、これを返します:http://pastebin.com/RxvTTZUAエラーキーがないため、これは壊れるはずです。フォローしていない場合は、http: //pastebin.com/Qha8UGatが返され、false が返されます。これをチェックするコードは次のとおりです。
public static boolean isFollower(String channel, String sender) {
try {
String nextUrl = "https://api.twitch.tv/kraken/users/"+sender+"/follows/channels/"+channel;
System.out.println(nextUrl);
JsonObject following = new JsonParser().parse(new JsonReader(new InputStreamReader(new URL(nextUrl).openStream()))).getAsJsonObject();
try {
following.get("error");
return false;
} catch (JsonIOException e) {
return true;
}
} catch (JsonIOException | JsonSyntaxException | IOException e) {
logger.log(Level.SEVERE, "An error occurred checking if "+sender+" is following "+channel.substring(1), e);
}
return false;
}
4行目のprintlnは、自分で問題を理解しようとしているだけですが、かなり混乱しています。