youtube v3 api以获取频道id

youtube v3 api以获取频道id,api,youtube,youtube-data-api,android-youtube-api,youtube-channels,Api,Youtube,Youtube Data Api,Android Youtube Api,Youtube Channels,我正在学习使用youtube数据api v3显示播放列表,并从下面的链接进一步显示每个播放列表的视频列表 我能够得到一个频道id的播放列表,并进一步得到每个播放列表、视频列表 在此之前,我需要通道id来执行其余的操作。输入为通道名称,输出为包含唯一通道id的详细信息。 下面是我尝试的代码片段,但我总是得到空结果。其中作为代码的另一部分(通过硬编码通道id)工作得很好 public class GetChannelInfoAsyncTask extends AsyncTask<St

我正在学习使用youtube数据api v3显示播放列表,并从下面的链接进一步显示每个播放列表的视频列表

我能够得到一个频道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;
}
公共类GetChannelInfoAsyncTask扩展了AsyncTask{
私有静态最终字符串YOUTUBE\u CHANNELLIST\u PART=“snippet”;
私有静态最终字符串YOUTUBE_CHANNELLIST_FIELDS=“items(id,snippet(title))”;
私有YouTube mYouTubeDataApi;
公共GetChannelInfoAsyncTask(YouTube api){
mYouTubeDataApi=api;
}
@凌驾
受保护的ChannelListResponse doInBackground(字符串…参数){
最终字符串channelName=params[0];
ChannelListResponse ChannelListResponse=null;
试一试{
channelListResponse=mYouTubeDataApi.channels()
.list(YOUTUBE\u频道列表\u部分)
.setForUsername(通道名称)
.setAlt(ApiKey.YOUTUBE\u API\u KEY)
.execute();
}捕获(IOE异常){
e、 printStackTrace();
}
返回信道响应;
}
}


使用列表(通过YouTube用户名)尝试执行选项可获得200(OK)成功。但是上面的代码总是空的。

我来晚了,但我有一个答案。要通过v3 API获取Youtube频道的ID,请使用以下参数向发出HTTP get请求:

  • 部分=代码段
  • 类型=通道
  • fields=项目%2Fsnippet%2FchannelId
  • q={YOUTUBE_频道_名称}
  • key={YOUR_API_key}
如果需要更多信息,请更改
字段的值

试试看



官方指南:

我来晚了,但我有一个答案。要通过v3 API获取Youtube频道的ID,请使用以下参数向发出HTTP get请求:

  • 部分=代码段
  • 类型=通道
  • 字段=项%2Fsnippet%2FchannelId
  • q={YOUTUBE_频道_名称}
  • key={YOUR_API_key}
如果需要更多信息,请更改
字段的值

试试看



官方指南:

忘记提及forUser是任何频道名称。例如,“GoogleDevelopers”是针对用户的。用户名和频道名不同。这个问题给出了迄今为止我找到的最好的解决方案:忘记提到forUser是任何频道名称。例如,“GoogleDevelopers”是针对用户的。用户名和频道名不同。这个问题给出了迄今为止我找到的最佳解决方案: