Я не был точно уверен, как сформулировать заголовок, но я создаю API, который извлекает определенную дату JSON о канале Youtube, и он отлично работает и денди, пока я не нахожусь канал, как это, https://www.youtube.com/channel/UCRMZyEp0IzcI0IGpDFRh6fQПолучить идентификатор канала youtube без отображаемого имени
где его идентификатор учетной записи находится в URL вместо 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();
}
Да, похоже. https://developers.google.com/youtube/v3/guides/working_with_channel_ids – Alpix
Если я просто использую 'id = $ YoutubeName' по сравнению с' forUsername = $ YoutubeName', ничего не появляется, когда я ищу «iceycat25» или «MOTO TIME», , Это требует от меня знать идентификатор канала перед началом работы. Что в ретроспективе, когда конечный пользователь предоставляет свой собственный идентификатор канала, лучше, поскольку имена дисплеев не уникальны, и они могут извлекать данные за неправильного пользователя. Я просто отмечу, что это принято. Спасибо, что пытались помочь! –