我正在尝试将位于在线服务器上的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或引用者的请求。
我已授予访问此应用程序的权限,因此不确定此处发生了什么,任何人都知道我做错了什么?
非常感谢
答案 0 :(得分:0)
您的问题是您需要修复限制。您必须从不正确的位置运行它。
*shabazejaz.co.uk/*
可能是更好的价值。你需要测试它。
旁注:
浏览器API密钥用于访问公共数据。
Files: list列出用户的文件。
为了能够运行file.list,您必须使用Oauth2或服务帐户进行身份验证。浏览器API密钥无法正常工作。