获取没有显示名称的YouTube频道ID

时间:2016-03-05 09:34:29

标签: php api youtube youtube-api

我不确定如何说出标题,但我正在创建一个API来检索关于人Youtube频道的某个JSON日期,并且它工作正常并且花花公子直到我遇到这样的频道,  https://www.youtube.com/channel/UCRMZyEp0IzcI0IGpDFRh6fQ

他的帐户ID在网址中而不是 https://www.youtube.com/user/iceycat25

当我运行API并搜索“iceycat25”时,数据会正常拉动,但是如果我搜索“ MOTO TIME ”,则API不会返回此类用户。有没有什么办法解决这一问题? 这是我现在的相关代码。

// obtain your own API key at
// https://console.developers.google.com
$MyKey = xxxxxxxxxx_xxxxxxxxxx_xxxxxxxxxx;
// Convert the GET data into variables.
$YoutubeName = $_GET["Channel_Name"];
$Command = $_GET["Command"];

// Get the channel ID and Upload ID from the YouTube name inputted
$IDs = json_decode(@file_get_contents("https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername=$YoutubeName&key=$MyKey"), true);
if($IDs['items'][0]['id'] == null)
{
    echo 'No such YouTube channel exists.';
    die();
}

1 个答案:

答案 0 :(得分:0)

我已在论坛中以div的形式实现了它。 正如您在此处看到的那样,YouTube API并不接受同一参数中的用户名和ID。

ID:

<div class="g-ytsubscribe" data-***channelid***="CHANNELID" data-layout="full" data-count="default"></div>

使用用户名:

<div class="g-ytsubscribe" data-***channel***="{$user.customFields.youtube_us}" data-layout="full" data-count="default"></div>

您必须更改属性。

只需使用https://www.googleapis.com/youtube/v3/channels?part=contentDetails&id=$YoutubeName&key=$MyKey进行尝试即可,如果没有,请发表评论。

更多:https://developers.google.com/youtube/v3/docs/channels/list#examples