Java Youtube错误400缺少prams api v3

Java Youtube错误400缺少prams api v3,java,youtube,youtube-api,Java,Youtube,Youtube Api,我正在发送以下请求,但当我通过get手动发送请求时,会发现错误400缺少参数,但效果良好: try { youtube = new YouTube.Builder(Auth.HTTP_TRANSPORT, Auth.JSON_FACTORY, new HttpRequestInitializer() { @Override public void initialize(HttpRequest arg0) throws IOExcep

我正在发送以下请求,但当我通过get手动发送请求时,会发现错误400缺少参数,但效果良好:

try {
        youtube = new YouTube.Builder(Auth.HTTP_TRANSPORT, Auth.JSON_FACTORY, new HttpRequestInitializer() {
            @Override
            public void initialize(HttpRequest arg0) throws IOException {}
        }).setApplicationName("youtube-cmdline-myuploads-sample").build();

        YouTube.Channels.List channelRequest = youtube.channels().list("id,snippet");
        channelRequest.setKey("key");
        //channelRequest.setFields("items/contentDetails,nextPageToken,pageInfo");
        channelRequest.set("channelId", "UC-9-kyTW8ZkZNDHQJ6FgpwQ");
        System.out.println(channelRequest.toString());
        ChannelListResponse channelResult = channelRequest.execute(); //error here
        List<Channel> channelsList = channelResult.getItems();
...
更详细的错误:

    {
  "code" : 400,
  "errors" : [ {
    "domain" : "youtube.parameter",
    "location" : "",
    "locationType" : "parameter",
    "message" : "No filter selected.",
    "reason" : "missingRequiredParameter"
  } ],
  "message" : "No filter selected."
}

您使用了错误的类。它不是一个频道,它是一个根据你所说的工作url的搜索列表

YouTube.Search.List searchRequest = youtube.search().list("id,snippet");

您可以这样尝试:

try {
        youtube = new YouTube.Builder(Auth.HTTP_TRANSPORT, Auth.JSON_FACTORY, new HttpRequestInitializer() {
            @Override
            public void initialize(HttpRequest arg0) throws IOException {}
        }).setApplicationName("youtube-cmdline-myuploads-sample").build();

        YouTube.Channels.List channelRequest = youtube.channels().list("id,snippet");
        channelRequest.setFields("items/contentDetails,nextPageToken,pageInfo");
        channelRequest.setId("UC-9-kyTW8ZkZNDHQJ6FgpwQ");

        // probably needed:
        // channelRequest.setMine(true);
        // or
        // channelRequest.setForUsername("userwithaccess");

        System.out.println(channelRequest.toString());
        ChannelListResponse channelResult = channelRequest.execute(); //error here
        List<Channel> channelsList = channelResult.getItems();
见本文件:

请注意上面的评论,因为我目前仅限于…setMinetrue

try {
        youtube = new YouTube.Builder(Auth.HTTP_TRANSPORT, Auth.JSON_FACTORY, new HttpRequestInitializer() {
            @Override
            public void initialize(HttpRequest arg0) throws IOException {}
        }).setApplicationName("youtube-cmdline-myuploads-sample").build();

        YouTube.Channels.List channelRequest = youtube.channels().list("id,snippet");
        channelRequest.setFields("items/contentDetails,nextPageToken,pageInfo");
        channelRequest.setId("UC-9-kyTW8ZkZNDHQJ6FgpwQ");

        // probably needed:
        // channelRequest.setMine(true);
        // or
        // channelRequest.setForUsername("userwithaccess");

        System.out.println(channelRequest.toString());
        ChannelListResponse channelResult = channelRequest.execute(); //error here
        List<Channel> channelsList = channelResult.getItems();