我有一个youtube频道,我正在使用youtube API V3来绘制该频道中上传的视频列表(使用 PHP库)。以下是我正在使用的代码的片段:
require_once 'google-api-php-client/src/Google_Client.php';
require_once 'google-api-php-client/src/contrib/Google_YouTubeService.php';
session_start();
$OAUTH2_CLIENT_ID = 'xxxxxxxxx';
$OAUTH2_CLIENT_SECRET = 'xxxxxxxxx';
$client = new Google_Client();
$client->setClientId($OAUTH2_CLIENT_ID);
$client->setClientSecret($OAUTH2_CLIENT_SECRET);
$redirect = filter_var('http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'], FILTER_SANITIZE_URL);
$client->setRedirectUri($redirect);
$youtube = new Google_YoutubeService($client);
$channelsResponse = $youtube->channels->listChannels('contentDetails', array(
'mine' => 'true',
但是,我得到了一个烦人的弹出窗口,要求我登录和身份验证以获取细节。我如何摆脱此身份验证弹出式弹出式?我打算写一份Cron作业,该作业会定期将视频列表列出并将其存储在DB中,因此我不希望该身份验证弹出。
注意:当我尝试从播放列表中获取视频时,我没有询问任何身份验证,而API函数顺利进行
$playlistItemsResponse = $youtube->playlistItems->listPlaylistItems('snippet,status', array(
'part' => 'snippet,contentDetails',
'maxResults' => 50,
'playlistId' => 'UUGpAMVStIfaQ32K-vhwNIxw'
));
是的,您不需要oauth2登录。您可以简单地通过设置API密钥来完成此操作。
这是playlistItems->列表请求。
此处的API Explorer中的演示:https://develoverers.google.com/apis-explorer/#p/youtube/v3/youtube.playlistitems.list = snippet = snippet&am
而不是设置客户端和客户端秘密
将其为API键从clubl Api访问中的Cloud Console设置为API键。
$ client-> setapikey($ api_key);
您可以从YouTube频道获取视频列表而无需认证。使用YouTube数据API获取YouTube频道的视频列表。
$API_key = 'Your_API_Key';
$channelID = 'YouTube_Channel_ID';
$maxResults = 10;
$videoList = json_decode(file_get_contents('https://www.googleapis.com/youtube/v3/search?order=date&part=snippet&channelId='.$channelID.'&maxResults='.$maxResults.'&key='.$API_key.''));