2012-05-18 54 views
3

我正在使用Dropbox API在Dropbox中讀取和寫入App文件夾的數據。當我使用AJAX將內容發佈到putFile.php並從getFile.php獲取內容時,重定向到DropBox-Login不起作用。我稍微改了一下accountInfo.php,認證後你會被重定向到主頁面。 我想檢查主頁面,用戶是否在保管箱中登錄並且應用程序已被授權(因爲我想將用戶重定向到accountInfo.php,如果他沒有登錄)。DropBox PHP-API檢查用戶是否已登錄並且該應用程序已獲得授權

在此先感謝!

回答

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 
} 
?> 
+0

對不起,這個問題是舊的,我不能試試你的答案了。但它看起來正確無論如何,所以我會給你一個upvote :) – Dion

+0

訪問令牌從哪裏來?我的意思是在函數'function isLogged()'中有這樣的:'$ dbxClient = new dbx \ Client($ accessToken,「PHP-Example/1.0」); – wti

相關問題