我正在摆弄 Google(日历)API 。我创建了一个小脚本,因此我可以将我的时间表导入到Google日历中,它在localhost上工作得很好。由于我也想尝试让它适用于其他人,我将所有内容上传到服务器,但它只是不想工作。
我更改了配置文件路径,重定向uri和来自dev的客户机密钥JSON。安慰。
它不起作用,它根本不起作用。
$client->authenticate ($_GET['code']);
无法运行。
下面你可以看到我称之为callback.php的文件。这几乎是Google Dev的一对一副本。现场。 (在domain.com/import内)
require_once __DIR__.'/vendor/autoload.php';
session_start();
$client = new Google_Client();
$client->setAuthConfigFile('../../client_secret.json');
$client->addScope(Google_Service_Calendar::CALENDAR);
$client->setRedirectUri('https://' . $_SERVER['HTTP_HOST'] . '/import/callback.php');
if (! isset($_GET['code'])) {
$auth_url = $client->createAuthUrl();
header('Location: ' . filter_var($auth_url, FILTER_SANITIZE_URL));
} else {
$code = $_GET['code'];
$client->authenticate($code); // <- If I comment out this line, it 'works' fine
$_SESSION['access_token'] = $client->getAccessToken();
$redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . '/';
header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
}
在Chrome中,即使使用HTTP 500 ERROR
,我也会收到error_reporting set to E_ALL
。在Firefox(移动设备)中,我只得到一个空白页面(即使我想要var_dump / echo
某些东西)。
我再次将所有内容转移到我的localhost(更新了client_secret.json),一切正常。我的(共享主机)服务器的错误日志为空。
我非常感谢你对这个问题的帮助。
我查看了我的虚拟主机;他们说服务器时间准确,所以这不是问题。
我的虚拟主机告诉我他们改变了设置。我必须在.htaccess file
中定义我的错误记录。所以我做了。
我现在收到卷曲错误60。我尝试过互联网为我提供的许多解决方案。但它们似乎都不起作用。我几乎放弃了(部分是因为我的虚拟主机)。
PS:
对我而言,将CURLOPT_SSL_VERIFYPEER
设置为false
不是有效的解决方案。对任何人来说都不应该。