使用 YouTube Data API v3 和 PHP 从 YouTube 获取视频列表


getting list of videos from youtube using youtube data api v3 with php

我在获取我的 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",
        ...
解决了。

正如我在上一条评论中提到的问题是裁判。 我将其限制在我的网站上,但这不起作用,因为它一直说"未配置访问权限! 但现在取消了限制并允许所有裁判 它:)工作。

现在可能不那么安全,但由于只有我拥有开发人员密钥,我认为它会很好。