我在获取我的 youtube 视频列表时遇到问题,我认为我直接遵循文档,但我总是收到错误"未捕获的异常'Google_Service_Exception',并带有消息"调用 GET https://www.googleapis.com/youtube/v3/videos?part=contentDetails&chart=mostPopular 时出错:(403) 超出未经身份验证使用的每日限制。继续使用需要注册。
下面是我的代码
$OAUTH2_CLIENT_ID = 'myclientid';
$OAUTH2_CLIENT_SECRET = 'myclientsecret';
$client = new Google_Client();
$client->setClientId($OAUTH2_CLIENT_ID);
$client->setClientSecret($OAUTH2_CLIENT_SECRET);
$client->setScopes('https://www.googleapis.com/auth/youtube');
$redirect = filter_var('http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'],
FILTER_SANITIZE_URL);
$client->setRedirectUri($redirect);
// Define an object that will be used to make all API requests.
$youtube = new Google_Service_YouTube($client);
$m = $youtube->videos->listVideos('contentDetails', ['chart' => 'mostPopular','mine' => true]);
var_dump($m->items());
正如错误所说:"超出未经身份验证使用的每日限制。继续使用需要注册。
您需要注册并获得Youtube数据API密钥。
有关如何选择授权的信息,请参阅此页面:https://developers.google.com/youtube/registering_an_application
使用有效的 api 令牌,给定的请求有效:请求 URI:https://www.googleapis.com/youtube/v3/videos?part=contentDetails&chart=mostPopular&key=my-working-api-key
响应:
{
"kind": "youtube#videoListResponse",
"etag": ""VWxPoEGGsFABuqUjd074WYFuSzg/nDAVTxNMgQ9F4nGTs7fZaznFTOk"",
"nextPageToken": "CAUQAA",
"pageInfo": {
"totalResults": 200,
"resultsPerPage": 5
},
"items": [
{
"kind": "youtube#video",
"etag": ""VWxPoEGGsFABuqUjd074WYFuSzg/_msWCTIjlV0IjeLHHznnkaF88sE"",
"id": "oZRh6J9ezfw",
"contentDetails": {
"duration": "PT5M43S",
"dimension": "2d",
"definition": "hd",
"caption": "false",
"licensedContent": true,
"regionRestriction": {
"blocked": [
"ZW",
"ZM",
...
正如我在上一条评论中提到的问题是裁判。 我将其限制在我的网站上,但这不起作用,因为它一直说"未配置访问权限! 但现在取消了限制并允许所有裁判 它:)工作。
现在可能不那么安全,但由于只有我拥有开发人员密钥,我认为它会很好。