我正在学习使用YouTube数据API v3显示播放列表列表,并从下面的链接进一步显示每个播放列表的视频列表
https://developers.google.com/youtube/v3

我可以获取 channel ID的播放列表。并进一步列出每个播放列表和视频列表。

在此之前,我需要通道ID来执行其余操作。输入将是通道的名称,输出应是包含唯一通道ID的详细信息。
下面是我尝试的代码片段,但我总是得到空结果。在代码的其他部分(通过硬编码通道ID)效果很好的地方。

    public class GetChannelInfoAsyncTask extends AsyncTask<String, Void, ChannelListResponse> {
private static final String YOUTUBE_CHANNELLIST_PART = "snippet";
private static final String YOUTUBE_CHANNELLIST_FIELDS = "items(id,snippet(title))";

private YouTube mYouTubeDataApi;

public GetChannelInfoAsyncTask(YouTube api) {
    mYouTubeDataApi = api;
}

@Override
protected ChannelListResponse doInBackground(String... params) {
    final String channelName = params[0];

    ChannelListResponse channelListResponse = null;

    try {
        channelListResponse = mYouTubeDataApi.channels()
                .list(YOUTUBE_CHANNELLIST_PART)
                .setForUsername(channelName)
                .setAlt(ApiKey.YOUTUBE_API_KEY)
                .execute();
    } catch (IOException e) {
        e.printStackTrace();
    }

    return channelListResponse;
}

}

引用
https://developers.google.com/youtube/v3/docs/channels/list
并尝试使用列表中的EXECUTE选项(通过YouTube用户名)获得200(确定)成功。但是上面的代码始终为null。

最佳答案

我来晚了,但是我有一个答案。要通过v3 API获取Youtube channel 的ID,请使用以下参数向https://www.googleapis.com/youtube/v3/search发出HTTP GET请求:

  • part =摘要
  • type = channel
  • fields = items%2Fsnippet%2FchannelId
  • q = {YOUTUBE_CHANNEL_NAME}
  • 键= {YOUR_API_KEY}

  • 如果需要更多信息,请更改fields键的值。

    试试here

    官方指南:Work with Channel IDs

    关于api - youtube v3 api获取 channel ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44667751/

    10-16 20:09