如何从频道名称或网址中检索频道ID

时间:2012-11-26 20:30:41

标签: python youtube-api

我正在尝试使用新的v3 API检索YouTube频道的频道ID。我正在使用Python客户端,似乎没有直接的方法来查找YouTube频道URL或名称到其频道ID的映射。

使用Python API客户端,似乎我必须为频道名称发出类型为“频道”的搜索查询,然后遍历每个搜索结果,直到找到匹配为止。

我将使用http://youtube.com/atgoogletalks频道作为示例

search_channel_name = 'atgoogletalks'     #Parsed from http://youtube.com/atgoogletalks
search_response = youtube.search().list(
    type='channel',
    part='id,snippet',
    q=search_channel_name,
    maxResults=50
    ).execute()
for sri in search_response["items"]:
    channels_response = youtube.channels().list(
        id=sri["id"]["channelId"],
        part="id, snippet, statistics, contentDetails, topicDetails"
        ).execute()

    for cr in channels_response["items"]:
        channelname = cr["snippet"]["title"]
        if channelname.lower() == search_channel_name:
            return 'Success'

我已经抓取了文档,寻找一种更简单的方法来实现这一目标并做空。有没有更简单的方法?如果没有,是否有计划将此功能添加到API?

1 个答案:

答案 0 :(得分:1)

关注YouTube Data API 你可以使用youtube.channels.list()的 forUsername 参数

使用您自己的示例:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main2);

    setUpLocationListener();
}