如何检索youtube频道(PHP)的个人资料图片?

时间:2015-10-15 22:32:05

标签: php json image youtube channel

所以我的页面设法通过Youtube API连接youtube频道并保存令牌等..但我没有找到任何代码示例来检索youtube个人资料图片。

我在去年发现了另一个帖子,其中有人用json脚本回答。它看起来如下:

var json = new WebClient().DownloadString("http://gdata.youtube.com/feeds/api/users/"+YT_CHANNEL_NAME);
    string str = "thumbnail url='";
    string ImagePic = json.Substring(json.IndexOf("thumbnail url") + str.Length);
    if (ImagePic.Contains("'"))
    {
        ImagePic = ImagePic.Remove(ImagePic.IndexOf("'"));
        ImageChannel.ImageUrl = ImagePic;

    }

我没有任何JSON经验,也无法弄清楚这是否仍适合我,以及如何在我的PHP代码中实现它。

1 个答案:

答案 0 :(得分:1)

这是如何从PHP中的youtube频道获取个人资料图片。

1,下载php api here

2,获取API key

4,您还需要频道ID,如果您是自己的帐户,可以从here

获取

这是php代码

<?php

$DEVELOPER_KEY = 'YOUR_KEY';

// Call set_include_path() as needed to point to your client library.  
require_once('/path/to/api/src/Google_Client.php');
require_once('/path/to/api/src/contrib/Google_YouTubeService.php');

$client = new Google_Client();
$client->setDeveloperKey($DEVELOPER_KEY);

$youtube = new Google_YoutubeService($client);
$htmlBody = '';
try {

    $channelsResponse = $youtube->channels->listChannels('contentDetails', array(
        'id' => 'CHANNEL_ID',
        'part' => 'snippet',
    ));


    //echo '<pre>';
    //print_r($channelsResponse);
    //echo '</pre>';
    $img = $channelsResponse['items'][0]['snippet']['thumbnails']['default']['url'];

    echo "<img src='$img'>";

} catch (Google_ServiceException $e) {
    $htmlBody .= sprintf('<p>A service error occurred: <code>%s</code></p>', htmlspecialchars($e->getMessage()));
} catch (Google_Exception $e) {
    $htmlBody .= sprintf('<p>An client error occurred: <code>%s</code></p>', htmlspecialchars($e->getMessage()));
}
echo $htmlBody;
?> 

它作为常规数组返回,文档为here,您也可以使用&#39; medium&#39;或者&#39;高&#39;而不是&#39;默认&#39;