(403)您的API密钥上配置了每IP或每个Referer限制,并且请求与这些限制不匹配

时间:2016-02-25 09:50:08

标签: php google-api google-drive-api

我正在尝试将位于在线服务器上的PHP应用程序连接到Google Drive API,我已经为我的API密钥提供了正确的凭据,如下所示:

enter image description here

这是我的代码:

    Class googleDriveAPIController Extends baseController {


        /**
         * Retrieve a list of File resources.
         *
         * @param Google_Service_Drive $service Drive API service instance.
         * @return Array List of Google_Service_Drive_DriveFile resources.
         */
        function retrieveAllFiles($service) {
          $result = array();
          $pageToken = NULL;

          do {
            try {
              $parameters = array();
              if ($pageToken) {
                $parameters['pageToken'] = $pageToken;
              }
              $files = $service->files->listFiles($parameters);

              $result = array_merge($result, $files->getItems());
              $pageToken = $files->getNextPageToken();
            } catch (Exception $e) {
              print "An error occurred: " . $e->getMessage();
              $pageToken = NULL;
            }
          } while ($pageToken);
          return $result;
        }




        public function index() {

        set_include_path('google-api-php-client/src');
        require_once(get_include_path() . '/Google/autoload.php');
        require_once(get_include_path() . '/Google/Client.php');
        require_once(get_include_path() . '/Google/Service.php');
        require_once(get_include_path() . '/Google/Http/MediaFileUpload.php');
        require_once(get_include_path() . '/Google/Service/Drive.php');

        $client = new Google_Client();
        $client->setApplicationName("My Application");
        $client->setDeveloperKey("AIzaSyAmWcZArf7NCk4d65HoKZzLENCJ6cx9fNg");
        $service = new Google_Service_Drive($client);           
        $this->retrieveAllFiles($service);      

        }
}

我收到以下错误:

  

发生错误:调用GET时出错   https://www.googleapis.com/drive/v3/files?key=AIzaSyAmWcZArf7NCk4d65HoKZzLENCJ6cx9fNg:   (403)您的配置了per-IP或Per-Referer限制   API密钥和请求与这些限制不匹配。请用   如果,Google Developers Console将更新您的API密钥配置   应允许来自此IP或引用者的请求。

我已授予访问此应用程序的权限,因此不确定此处发生了什么,任何人都知道我做错了什么?

非常感谢

1 个答案:

答案 0 :(得分:0)

您的问题是您需要修复限制。您必须从不正确的位置运行它。

*shabazejaz.co.uk/*

可能是更好的价值。你需要测试它。

旁注:

浏览器API密钥用于访问公共数据。

  

Files: list列出用户的文件。

为了能够运行file.list,您必须使用Oauth2或服务帐户进行身份验证。浏览器API密钥无法正常工作。