2013-12-10 9 views
12

मैं यूट्यूब डेटा एपीआई का उपयोग कर रहा हूं और मुझे यह जानने की जरूरत है कि यूट्यूब चैनल एक सत्यापित है या नहीं।क्या यह जानने के लिए कोई फ़ील्ड है कि यूट्यूब एपीआई से यूट्यूब चैनल सत्यापित किया गया है या नहीं?

उत्तर

1

सिर्फ इस आज में भाग है, और जब channelBranding of the V3 youtube API होनहार लग रहा है, मैं अगर खाता/चैनल प्रयोक्ता आईडी सत्यापित किया गया था यह वापस जाने के लिए नहीं मिल सका या नहीं

तो मैं एक बहुत लंगड़ा PHP स्क्रिप्ट ऊपर फेंक दिया कि सीधे एचटीएमएल की जांच करने के लिए खोज डीओएम मॉडल का उपयोग करता है। यदि निम्न तत्व मौजूद है तो सत्य वापस करने के लिए।

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

आज (2014/09/08) के रूप में एक सत्यापित उपयोगकर्ता वापस आ जाएगी सच ..

<?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; 
    } 
} 
?> 

अलविदा अब के लिए!

0

स्थिति के माध्यम से किसी यूट्यूब चैनल की सत्यापित स्थिति को जांचने के लिए संभव हो सकता है। LongUploadsStatus ध्वज या तो अनुमति या योग्य है, क्योंकि वर्तमान में इस सुविधा को संबंधित यूट्यूब खाते को सत्यापित करने की आवश्यकता है।

स्रोत: https://developers.google.com/youtube/v3/docs/channels

+0

यह नहीं रह गया काम कर रहा है। Channel.list API का उपयोग स्थिति भाग का अनुरोध करते हुए, मैं एक चैनल के लिए पूछता हूं जो YouTube साइट पर सत्यापित बैज दिखाता है, हालांकि longUploadsStatus ध्वज के लिए API द्वारा लौटाया गया मान "longUploads निर्दिष्ट नहीं है" सत्य नहीं है। – cheino

+0

जब अनुरोध सही तरीके से अधिकृत नहीं होता है तो यह प्रतिक्रिया "longUploads निर्दिष्ट" होती है। (आपको चैनल मालिक द्वारा छोड़े गए टोकन की आवश्यकता है)। –

+1

मैं YouTube में एक टोकन के साथ प्रमाणीकरण कर रहा हूं। चैनल। सूची सेटकी विधि, लेकिन यदि टोकन को विशेष चैनल के लिए अधिकृत करने की आवश्यकता है तो यह सामान्य खोज परिणामों में सत्यापित चैनलों की पहचान करने के उद्देश्य को हरा देता है। एफवाईआई, मैं जावा एपीआई का उपयोग कर रहा हूँ। – cheino

3

एक उचित समाधान, आप दो कदम में ऐसा करने की जरूरत:

कदम 1, YouTube डेटा API 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" 
    } 
    } 
,210

अधिक पर: https://developers.google.com/youtube/v3/docs/channels/list

कदम 2 गूगल प्लस एपीआई के साथ, पिछले अनुरोध से 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

googlePlusUserId फ़ील्ड को हटा दिया गया है और हटा दिया गया है और सामग्री सामग्री ऑब्जेक्ट में अब उपलब्ध नहीं है। – cheino

0

उत्तर: mpgn के समाधान, ध्यान रखें कि बीच G + खाते सत्यापित है या नहीं और क्या एक या खातों YouTube चैनल को सत्यापित कर रहे हैं के और अधिक एक अंतर है कि। किसी खाते के लिए एक से अधिक चैनल होना संभव है, और इनमें से प्रत्येक चैनल स्वतंत्र रूप से सत्यापित किया जाता है, और संबंधित जी + खाता सत्यापित होने के बावजूद चैनलों को असत्यापित किया जा सकता है।

@Paul Blakely पता चलता है, यह करने के लिए वर्तमान का सबसे अच्छा तरीका status.longUploadStatus झंडा जाँच करने के लिए, प्रति https://developers.google.com/youtube/v3/docs/channels

1

सत्यापित चैनलों पर है, वर्ग "है-बिल्ला" मौजूद है।

2018 में कार्य:

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

if(stripos($channel, $key) !== FALSE) 
    echo "Verified"; 
else 
    echo "Not Verified"; 
?> 
संबंधित मुद्दे