我正在尝试使用最新版本的 youtube API(V3),但由于某种原因,我在调用列表函数(针对不同实体)时遇到了强制转换异常
在下面的示例中,调用执行方法时出现以下异常:
代码:
Youtube youTube = new Youtube.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential).build();
Map<String, Channel> channels = youTube.channels().list("id").setMine("").execute().getChannels();
例外:
java.lang.IllegalArgumentException: expected collection or array type but got java.util.Map<java.lang.String, com.google.api.services.youtube.model.Channel> [key channels, field private java.util.Map com.google.api.services.youtube.model.ChannelListResponse.channels]
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:115) ~[guava-11.0.1.jar:na]
at com.google.api.client.json.JsonParser.parseValue(JsonParser.java:534) ~[google-http-client-1.11.0-beta.jar:1.11.0-beta]
at com.google.api.client.json.JsonParser.parse(JsonParser.java:352) ~[google-http-client-1.11.0-beta.jar:1.11.0-beta]
at com.google.api.client.json.JsonParser.parseValue(JsonParser.java:588) ~[google-http-client-1.11.0-beta.jar:1.11.0-beta]
at com.google.api.client.json.JsonParser.parse(JsonParser.java:291) ~[google-http-client-1.11.0-beta.jar:1.11.0-beta]
at com.google.api.client.json.JsonParser.parse(JsonParser.java:268) ~[google-http-client-1.11.0-beta.jar:1.11.0-beta]
at com.google.api.client.json.JsonParser.parseAndClose(JsonParser.java:143) ~[google-http-client-1.11.0-beta.jar:1.11.0-beta]
at com.google.api.client.http.json.JsonHttpParser.parse(JsonHttpParser.java:90) ~[google-http-client-1.11.0-beta.jar:1.11.0-beta]
at com.google.api.client.http.HttpResponse.parseAs(HttpResponse.java:501) ~[google-http-client-1.11.0-beta.jar:1.11.0-beta]
at com.google.api.services.youtube.Youtube$Channels$List.execute(Youtube.java:271) ~[google-api-services-youtube-v3alpha-rev13-1.8.0-beta.jar:na]
任何的想法?我正在使用最新的 java 客户端。
谢谢,
电喷