【问题标题】:getting list of videos from youtube using youtube data api v3 with php使用带有 php 的 youtube data api v3 从 youtube 获取视频列表
【发布时间】:2015-01-14 08:10:15
【问题描述】:

我在获取上传的 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());

【问题讨论】:

    标签: php youtube google-api google-api-php-client youtube-data-api


    【解决方案1】:

    正如错误所说:“已超出未经验证使用的每日限制。继续使用需要注册。”

    您需要注册并获得一个 Youtube Data API Key。

    有关如何选择授权的信息,请参阅此页面: 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",
            ...
    

    【讨论】:

    • 我确实有一个 api 密钥、客户端 ID 和客户端密码。不管我怎么尝试它都不起作用。它说“超过未经身份验证的使用的每日限制”,但它从一开始就不起作用
    • 我只能说:当使用 YouTube Data API V3 的有效 API 密钥时,给定的查询会按预期工作。我不知道你所说的“客户端 ID”和“客户端密码”是什么意思——你不需要它们来访问网络服务。请参阅指南以获取访问令牌 - 这对我有用。
    • 显然不适合我!我尝试了我的开发人员 API 密钥,现在错误更改为“未配置访问”。它要求我检查我的推荐人设置。甚至与我的域完全匹配,所以我现在真的不知道错误来自哪里:(
    • 在设置 API 密钥时,您必须输入应该能够通过密钥访问 API 的所有 ip。请检查这些设置是否正确(我在那里使用 ip,不知道它是否适用于域,因为域确实指向服务器,但服务器仍然用 ip 描述自己)。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2014-01-26
      • 2017-11-21
      • 2014-02-23
      • 2014-05-02
      • 2017-11-01
      • 2013-06-30
      • 2016-01-21
      • 2019-07-27
      • 2016-01-17
      相关资源
      最近更新 更多