2016-05-17 153 views
7

https://www.youtube.com/c/pratiksinhchudasamaisawesomeのようなカスタムURLを持つYouTubeチャンネルの詳細を取得したいと思います。チャンネルにカスタムURLがある場合、YoutubeデータAPIを使用してYoutubeチャンネルの詳細を取得する方法

カスタムチャネルのURLは、https://www.youtube.com/c/{custom_channel_name}の形式になります。

チャンネルIDとユーザー名でYouTubeチャンネルの詳細を問題なく取得できます。申し訳ありませんが、この問題が発生した唯一のカスタムチャンネルURLを使用する必要があります。

私は数ヶ月前に自分のアプリを開発しましたが、カスタムチャンネルのURLは数日前まで機能していました。カスタムデータを使用して詳細を取得しようとすると、YouTubeのカスタムAPIのURLに何も返されません。このチャネルの詳細取得するには

https://www.youtube.com/user/thenewbostonは、例えば、要求は次のようになります。それは完璧に動作

GET https://www.googleapis.com/youtube/v3/channels?part=snippet&forUsername=thenewboston&key={YOUR_API_KEY} 

応答

200 
- SHOW HEADERS - 
{ 
"kind": "youtube#channelListResponse", 
"etag": "\"zekp1FB4kTkkM-rWc1qIAAt-BWc/8Dz6-vPu69KX3yZxVCT3-M9YWQA\"", 
"pageInfo": { 
    "totalResults": 1, 
    "resultsPerPage": 5 
}, 
"items": [ 
    { 

    "kind": "youtube#channel", 
    "etag": "\"zekp1FB4kTkkM-rWc1qIAAt-BWc/KlQLDlUPRAmACwKt9V8V2yrOfEg\"", 
    "id": "UCJbPGzawDH1njbqV-D5HqKw", 
    "snippet": { 
    "title": "thenewboston", 
    "description": "Tons of sweet computer related tutorials and some other awesome videos too!", 
    "publishedAt": "2008-02-04T16:09:31.000Z", 
    "thumbnails": { 
    "default": { 
     "url": "https://yt3.ggpht.com/--n5ELY2uT-U/AAAAAAAAAAI/AAAAAAAAAAA/d9JvaIEpstw/s88-c-k-no-rj-c0xffffff/photo.jpg" 
    }, 
    "medium": { 
     "url": "https://yt3.ggpht.com/--n5ELY2uT-U/AAAAAAAAAAI/AAAAAAAAAAA/d9JvaIEpstw/s240-c-k-no-rj-c0xffffff/photo.jpg" 
    }, 
    "high": { 
     "url": "https://yt3.ggpht.com/--n5ELY2uT-U/AAAAAAAAAAI/AAAAAAAAAAA/d9JvaIEpstw/s240-c-k-no-rj-c0xffffff/photo.jpg" 
    } 
    }, 
    "localized": { 
    "title": "thenewboston", 
    "description": "Tons of sweet computer related tutorials and some other awesome videos too!" 
    } 
    } 
    } 
] 
} 

今、私たちは、これらのチャネルの詳細を取得する必要があります。

その後、我々が得る:

GET https://www.googleapis.com/youtube/v3/channels?part=snippet&forUsername=annacavalli&key={YOUR_API_KEY} 

応答

200 
- SHOW HEADERS - 
{ 
"kind": "youtube#channelListResponse", 
"etag": "\"zekp1FB4kTkkM-rWc1qIAAt-BWc/TAiG4jjJ-NTZu7gPKn7WGmuaZb8\"", 
"pageInfo": { 
    "totalResults": 0, 
    "resultsPerPage": 5 
}, 
"items": [ 
] 
} 

これはAPI explorerを使用して簡単に再現できます。

+0

これは、APIのバグである可能性があります。どうすれば[報告する](https://code.google.com/p/gdata-issues/issues/entry?template=YouTube%20(Defect%20Report))、Googleで修正するかどうか – Laurel

+0

これはバグではなく、欠落している機能です。Username(YouTubeとGoogle Plusの統合以前の昔のもの)はカスタムチャンネル識別子と同じではないので、 'forUsername'フィルタはそのように動作しないことが予想されます。 – jkondratowicz

答えて

4

APIを使用するだけの簡単な解決策は、YouTube Data APIのSearch:listメソッドを使用することです。あなたがカスタムURLコンポーネントを使用して検索した場合、結果タイプフィルタ「チャンネル」と「関連性」(デフォルト)の並べ替えを使用すると、私が知ることができます(私の独自の研究によるものです。最初の結果あなたが探しているものになるはずです。

したがって、次のクエリでは、最初に探しているものが16個あります。私がテストした他のすべてのカスタムチャンネルのURLにも同じことが起こるので、これを行う最も信頼できる方法だと思います。

GET https://www.googleapis.com/youtube/v3/search?part=id%2Csnippet&q=annacavalli&type=channel&key={YOUR_API_KEY} 

他のアイデアは、HTMLコードのメタタグの1つでChannelIDを見つけることができるカスタムURLでYouTubeページを削っているだけです。しかし、YouTubeの利用規約に違反して、効果がなく、信頼性が低く、AFAIKは利用できません。

編集:小さなチャンネルでは結果が返ってこないので、まったく信頼できません。

+0

"kind": "kind": "youtube#activity"の代わりに "youtube#searchResult"を除いて、ほとんど私たちが探しているものです –

+0

小さなチャンネルのIDを取得する方法はありますか? –

+0

@MahmoudHanafy私が記述した方法以外にカスタムURLからchannelIdを取得する方法は他にありません。 – jkondratowicz

関連する問題