3

我正在使用 Dropbox API 来读取和写入 Dropbox 中 App 文件夹的数据。当我使用 AJAX 将内容发布到 putFile.php 并从 getFile.php 获取内容时,重定向到 DropBox-Login 不起作用。我稍微更改了 accountInfo.php,您将在身份验证后被重定向到主页。我想在主页中检查用户是否在 dropbox 上登录并且应用程序被授权(因为我想将用户重定向到 accountInfo.php,如果他没有登录)。

提前致谢!

4

1 回答 1

1

根据我在文档中读到的内容,这应该可以解决问题:

<?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
}
?>
于 2014-05-03T04:58:17.563 回答