【发布时间】:2016-02-25 09:50:07
【问题描述】:
我正在尝试将位于在线服务器上的 PHP 应用程序连接到 Google Drive API,我已为我的 API 密钥提供了正确的凭据,如下所示:
这是我的代码:
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 或引用者的请求。
我已授予对此应用程序的访问权限,所以不确定这里发生了什么,有人知道我做错了什么吗?
非常感谢
【问题讨论】:
-
你是从shabazejaz.co.uk/googledriveAPI运行脚本吗?
-
是的,我什至输入了 shabazejaz.co.uk/* 以便它适用于该域下的所有内容,但仍然会出现相同的错误
标签: php google-api google-drive-api