2

新しい 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 に追加する計画はありますか?

4

1 に答える 1

1

YouTube Data APIに従って、youtube.channels.list() のforUsernameパラメータを 使用できます。

あなた自身の例を使用して:

search_channel_name = 'atgoogletalks'
channels_response = youtube.channels().list(
        forUsername=search_channel_name,
        part="id, snippet, statistics, contentDetails, topicDetails"
).execute()
于 2015-07-07T19:08:15.303 に答える