Есть ли поле для проверки того, проверен ли канал YouTube на Youtube API?

Я использую API данных Youtube, и мне нужно знать, есть ли способ найти, что канал youtube является проверенным.

Ответ 1

Правильное решение, вам нужно сделать это в два этапа:

ШАГ 1. Используя API данных YouTube v3 и ressource channel.list с параметрами:

part:contentDetails
id:CHANNEL_ID // or forUsername:USERNAME

Это вывод:

  {
   "kind": "youtube#channel",
   "etag": "\"CuSCwMPVmgi8taDtE2LV6HdgkN0/Mu0u2QSDqnFcBvUF5X21CnGSEac\"",
   "id": "UCa10nxShhzNrCE1o2ZOPztg",
   "contentDetails": {
    "relatedPlaylists": {
     "uploads": "UUa10nxShhzNrCE1o2ZOPztg"
    },
    "googlePlusUserId": "105350456099841048474"
   }
  }

Больше на: https://developers.google.com/youtube/v3/docs/channels/list

ШАГ 2 с API Google Plus, получите googlePlusUserId из предыдущего запроса и используйте ресурс plus.people.get с параметром:

userId:105350456099841048474

В результате будет показано:

 "isPlusUser": true,
 "plusOneCount": 215098,
 "circledByCount": 12621,
 "verified": true,

Подтвержденное поле - это то, что вы хотите!

Подробнее: https://developers.google.com/+/web/api/rest/latest/people/get

Ответ 2

просто столкнулся с этим сегодня, и хотя channelBranding API-интерфейса V3 youtube выглядит многообещающе, я не мог заставить его вернуться, если идентификатор учетной записи/канала пользователя был подтвержден или нет

поэтому я создал довольно хромой PHP скрипт, который использует поиск модели DOM для непосредственного изучения html. для возврата true, если присутствует следующий элемент.

<a href="//support.google.com/youtube/bin/answer.py?answer=3046484&amp;hl=en" class="qualified-channel-title-badge" target="_blank">

На сегодняшний день (9/8/2014) проверенный пользователь вернет true.

<?php
function isVerified($youtubeUser) 
{ 
    $youtubeUser = trim($youtubeUser); 
    $url = '\''."https://www.youtube.com/user/".$youtubeUser.'\'';
    $url = "https://www.youtube.com/user/".$youtubeUser ;
    $Verified = false;
    echo "<BR>looking at $url "; 

    $ch = curl_init();
    $timeout = 10;
    curl_setopt($ch, CURLOPT_URL, "$url");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    $html = curl_exec($ch);
    curl_close($ch);

    $dom = new DOMDocument;
    @$dom->loadHTML($html);

    foreach ( $dom->getElementsByTagName('a') as $link ) {
        $myVar = $link->getAttribute('class');
        $search = "qualified-channel-title-badge";
        $found=false;
        $found = strpos($myVar, $search); 
        if ( $found  !== false) { 
            $Verified = true;  //echo "<BR><font color=green>TRUE</font>";
        } else {
            $Verified = false; //echo "<BR><font color=red>FALSE</font>";
        }
    } 

    if ( $Verified ) {
    return true;
    } else {
    return false;
    }
}
?>

Пока, пока!

Ответ 3

Если может быть возможно проверить выведенный статус канала YouTube через флаг status.longUploadsStatus, который может быть разрешен или разрешен, поскольку в настоящее время для этой функции требуется, чтобы связанная учетная запись youtube была проверена.

источник: https://developers.google.com/youtube/v3/docs/channels

Ответ 4

RE: решение mpgn, обратите внимание, что существует различие между проверкой учетной записи G + и проверяется ли один или несколько учетных записей каналов YouTube. Возможно, что учетная запись имеет более одного канала, и каждый из этих каналов проверяется независимо, а для каналов не проверяется, даже если проверена соответствующая учетная запись G +.

Как показывает @Paul Blakely, лучший способ сделать это - проверить флаг status.longUploadStatus, за https://developers.google.com/youtube/v3/docs/channels

Ответ 5

В проверенных каналах присутствует класс "has-badge".

Работа в 2018 году:

<?php
$key = 'has-badge';
$channel = file_get_contents('https://www.youtube.com/...');

if( stripos($channel, $key) !== FALSE )
    echo "Verified";
else
    echo "Not Verified";
?>