我正在使用 Dropbox API 来读取和写入 Dropbox 中 App 文件夹的数据。当我使用 AJAX 将内容发布到 putFile.php 并从 getFile.php 获取内容时,重定向到 DropBox-Login 不起作用。我稍微更改了 accountInfo.php,您将在身份验证后被重定向到主页。我想在主页中检查用户是否在 dropbox 上登录并且应用程序被授权(因为我想将用户重定向到 accountInfo.php,如果他没有登录)。
提前致谢!
我正在使用 Dropbox API 来读取和写入 Dropbox 中 App 文件夹的数据。当我使用 AJAX 将内容发布到 putFile.php 并从 getFile.php 获取内容时,重定向到 DropBox-Login 不起作用。我稍微更改了 accountInfo.php,您将在身份验证后被重定向到主页。我想在主页中检查用户是否在 dropbox 上登录并且应用程序被授权(因为我想将用户重定向到 accountInfo.php,如果他没有登录)。
提前致谢!
根据我在文档中读到的内容,这应该可以解决问题:
<?php
require_once "dropbox-sdk/Dropbox/autoload.php";
use \Dropbox as dbx;
function isLogged() {
$dbxClient = new dbx\Client($accessToken, "PHP-Example/1.0");
$accountInfo = $dbxClient->getAccountInfo();
return (empty($accountInfo)) ? false : true;
}
if(!isLogged()) {
$appInfo = dbx\AppInfo::loadFromJsonFile("INSERT_PATH_TO_JSON_CONFIG_PATH");
$webAuth = new dbx\WebAuthNoRedirect($appInfo, "PHP-Example/1.0");
$authorizeUrl = $webAuth->start();
echo "1. Go to: " . $authorizeUrl . "\n";
echo "2. Click \"Allow\" (you might have to log in first).\n";
echo "3. Copy the authorization code.\n";
$authCode = \trim(\readline("Enter the authorization code here: "));
list($accessToken, $dropboxUserId) = $webAuth->finish($authCode);
print "Access Token: " . $accessToken . "\n";
} else {
//User is logged in
}
?>