我正在学习使用youtube data api v3来显示播放列表列表,并进一步显示来自以下链接的每个播放列表的视频列表 https://developers.google.com/youtube/v3
我能够获得频道ID的播放列表。还有每个播放列表,视频列表。
在此之前我需要通道ID来完成其余的操作。输入将是频道的名称,输出应该是包含唯一频道ID的详细信息。 下面是我尝试的代码片段,但我总是得到null结果。代码的其他部分(通过硬编码通道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(OK)成功。但是上面的代码总是空的。
答案 0 :(得分:1)
我来不及了,但是我有一个答案。要通过v3 API获取YouTube频道的ID,请使用以下参数向https://www.googleapis.com/youtube/v3/search发送HTTP GET请求:
如果需要更多信息,请更改fields
键的值。
尝试here
答案 1 :(得分:0)
Youtube data v3 API:这里是通过频道名称查找channel_id的get请求