我正在学习使用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请求:
如果需要更多信息,请更改
fields
键的值。试试here
官方指南:Work with Channel IDs
关于api - youtube v3 api获取 channel ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44667751/