我的YouTube频道上的私人视频很少,我想将它们放在我的网站上。基本上我不希望我的网站用户直接在我的YouTube频道上观看它们。此外,我也不想向用户显示同意屏幕。我在 stackoverflow 中浏览并找到了this示例,其中 DalmTo 建议有人使用Google服务帐户来实现此目的。我的代码适用于公开播放的视频,但只要我使用它的ID搜索视频,它就不会显示私有视频。
这是我的代码:
<?php
session_start();
require_once('vendor/autoload.php');
$client = new Google_Client();
$client->setApplicationName("YouTube-Example");
$client->setScopes('https://www.googleapis.com/auth/youtube');
putenv("GOOGLE_APPLICATION_CREDENTIALS=service_account.json");
$client->useApplicationDefaultCredentials();
$youtube = new Google_Service_YouTube($client);
try{
$response = $youtube->videos->listVideos(
'snippet',
array(
'id' => 'pW0og1OZurE' //private video unable to display
));
echo "<pre>";
print_r($response);
} catch (Google_Service_Exception $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()));
}
?>
我遵循了文档,但我无法弄清楚它为什么不起作用。请帮帮我。
提前致谢。
答案 0 :(得分:0)
Youtube API中不允许显示私人视频stated in the help guide。
私人视频只有被邀请的人才能看到 观看视频。
以下是您或您分享的人的一些可能原因 视频无法看到私有视频:
- 观看者需要拥有YouTube帐户,并在尝试观看视频时登录。
- 如果观看者拥有多个YouTube帐户,则必须将其登录到与之共享视频的帐户中。
- 由于私人视频未显示在频道页面上,此人需要使用指向私有视频的特定链接。 YouTube会发送 一旦你邀请他们,他们就会发一封带有链接的电子邮件,但你也可以 自己发送。
答案 1 :(得分:0)
这可能是您的答案:
forMine
参数指示响应仅应在授权用户的视频中搜索。另外,由于此请求使用forMine
参数,因此它还必须将type参数值设置为video。 如果您还没有上传与该词相关的任何视频,那么您在API响应列表中将不会看到任何项目。