当前位置: 首页 > 知识库问答 >
问题:

YouTube v3 api获取频道ID

邴越彬
2023-03-14

我正在学习使用youtube数据api v3显示播放列表列表,并从下面的链接进一步显示每个播放列表的视频列表https://developers.google.com/youtube/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;
}

}

参考https://developers.google.com/youtube/v3/docs/channels/list和尝试执行选项与名单(由YouTube用户名)给200(确定)成功。但是上面的代码总是空的。

共有2个答案

微生旻
2023-03-14

Youtube data v3 API:这是按频道名称查找channel_id的get请求

https://www.googleapis.com/youtube/v3/channels?forUsername={CHANNEL_NAME}

颛孙建业
2023-03-14

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

  • 部分 = 代码段
  • 类型 = 通道
  • 字段 = 项目/代码段/通道 Id
  • q={YOUTUBE_CHANNEL_NAME}
  • 键={YOUR_API_KEY}

如果需要更多信息,请更改<code>字段</code>键的值。

在这里试试

官方指南:使用频道 ID

 类似资料:
  • 请求header GET /v1/activities/{频道id}/report Authorization:Bearer {ACCESS TOKEN} Content-Type:application/json 注: 请将上方的{ACCESS TOKEN}替换为您的ACCESS TOKEN 请将"{频道id}"替换您需要获取的频道id 返回 { "id": 1928, "name":

  • 请求header GET /v1/activities Authorization:Bearer {ACCESS TOKEN} Content-Type:application/json 注:请将上方的{ACCESS TOKEN}替换为您的ACCESS TOKEN 可选参数 live=直播状态&manager=频道管理员ID&p=页码 可选参数说明 参数 描述 类型 live 直播状态,1为正在

  • 请求header POST /v1/activities/{频道id}/getAuthKey Authorization:Bearer {ACCESS TOKEN} Content-Type:application/json 注: 请将上方的{ACCESS TOKEN}替换为您的ACCESS TOKEN 请将"{频道id}"替换您需要获取的频道id 返回 { "status": "y",

  • 我正在尝试使用频道的视频,https://www.googleapis.com/youtube/v3/search?order=date

  • 我正在使用https://developers.google.com/youtube/的这些API,但是我想不出,给定一个youtube频道地址,如何获得带有相关信息的视频列表(至少是单个视频url和标题)

  • 我如何从youtube频道获取持续时间和浏览量都很重要的视频? 我试过这个请求: https://www.googleapis.com/youtube/v3/search?part=snippet, id 但响应不包含持续时间/视图计数。有什么想法吗?谢谢。