我们要做的是创建一个机器人,检查某人是否是一个抽搐通道的追随者。如果它们是或不是,我们返回一个布尔值。在这种情况下,我们调用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只是我试图自己解决问题,但我很困惑。