下記はYouTube Data APIを利用したチャンネルのユーザー名からチャンネルIDを取得するコードの例。
下記の例のようにリソースのプロパティに id
、フィルタに forUsername
パラメータを指定して $youtube->channels->listChannels()
でAPIリクエストを行えばチャンネルIDを取得できる。
(ユーザー名のURLの例) https://www.youtube.com/user/YouTubeJapan (IDに基づくURLの例) https://www.youtube.com/channel/UCrXUsMBcfTVqwAS7DKg9C0Q
require_once '/path/to/google-api-php-client/vendor/autoload.php';
$client = new Google_Client();
$client->setDeveloperKey("_YOUR_API_KEY_");
$youtube = new Google_Service_YouTube($client);
$user = "YouTubeJapan"; // https://www.youtube.com/user/YouTubeJapan
$response = $youtube->channels->listChannels('id', ['forUsername' => $user]);
$channelId = "";
if (!empty($response['items']))
{
$channelId = $response['items'][0]['id'];
var_dump($channelId);
/* var_dump 出力
string(24) "UCrXUsMBcfTVqwAS7DKg9C0Q"
*/
}
else
{
exit("Error: Failed to get channel ID.\n");
}
なお、APIを利用しなくても、Google検索でチャンネル名を検索して、検索結果のリンクからチャンネルのページに行けば、チャンネルIDに基づくURLに飛ばしてくれることが多い。
ただ、チャンネルIDに基づくURLに辿り着けない場合もあるので、APIを利用したチャンネルIDの取得方法を知っておくと役立つ。