【发布时间】:2017-01-22 10:12:31
【问题描述】:
我在远程 Web 服务器上使用 OAuth 2.0 for Web Server Applications 示例代码。
$client->authenticate(...) 原因
内部服务器错误 500。
不知道为什么,你能帮我吗?
这里是网址:http://imperiousgroup.com/gdrive/
这里是代码:
//index.php
require_once(__DIR__ ."/api/vendor/autoload.php");
session_start();
$client = new Google_Client();
$client->setAuthConfig('client_secrets.json');
$client->addScope(Google_Service_Drive::DRIVE_METADATA_READONLY);
if (isset($_SESSION['access_token']) && $_SESSION['access_token']) {
$client->setAccessToken($_SESSION['access_token']);
$drive_service = new Google_Service_Drive($client);
$files_list = $drive_service->files->listFiles(array())->getItems();
echo json_encode($files_list);
} else {
$redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . '/gdrive/oauth2callback.php';
header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
}
//oauth2callback.php
require_once __DIR__ .'/api/vendor/autoload.php';
session_start();
$client = new Google_Client();
$client->setAuthConfigFile('client_secrets.json');
$client->setRedirectUri('http://' . $_SERVER['HTTP_HOST'] . '/gdrive/oauth2callback.php');
$client->addScope(Google_Service_Drive::DRIVE_METADATA_READONLY);
if (!isset($_GET['code'])) {
$auth_url = $client->createAuthUrl();
header('Location: ' . filter_var($auth_url, FILTER_SANITIZE_URL));
} else {
$client->authenticate($_GET['code']);
}
【问题讨论】:
-
请格式化代码,以提高可读性,谢谢!
标签: php api web authorization internal-server-error