所以我的页面设法通过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代码中实现它。
答案 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;