国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

So aktualisieren Sie das Zugriffstoken der Dropbox-API in PHP, ohne sich anzumelden
P粉239164234
P粉239164234 2023-08-26 11:28:49
0
2
983
<p>Ich verwende https://github.com/kunalvarma05/dropbox-php-sdk, um Dateien in meine Dropbox hochzuladen. </p> <p>Hier ben?tige ich keine Benutzer, die Dropbox verwenden, sondern nur interne Benutzer, damit ich Dateien in meine Dropbox hochladen kann. </p> <p>Ich habe das Zugriffstoken über die Dropbox-App generiert und alles funktioniert einwandfrei, aber das Token l?uft nach einiger Zeit ab. Ich habe eine OAuth-Anmeldung durchgeführt, um das Token neu zu generieren, aber auch das neue Token l?uft nach einer Weile ab. </p> <p>Wie kann ich das Token neu generieren oder ein langlebiges Token erhalten, damit mein Skript die Datei jedes Mal, wenn der Benutzer eine neue Datei hochl?dt, in die Dropbox hochladen kann? </p> <p>Ich verwende diesen einfachen Code</p> <pre class="brush:php;toolbar:false;">include('dropbox/vendor/autoload.php'); $app = new DropboxApp("client_id", "client_secret", 'access_token'); $dropbox = neue Dropbox($app); $data = []; // Hier wird eine Liste der Dateien aus der Datenbank abgerufen if (!$data->isEmpty()) { foreach ($data as $list) { $filePath = 'folder_path/'.$list->file_name; $fileName = $list->file_name; versuchen { // Dropbox-Datei aus Pfad erstellen $dropboxFile = new DropboxFile($filePath); // Laden Sie die Datei in Dropbox hoch $uploadedFile = $dropbox->upload($dropboxFile, "/folder_name/" . $fileName, ['autorename' => true]); // Datei hochgeladen echo $uploadedFile->getPathDisplay(); } Catch (DropboxClientException $e) { print_r($e->getMessage()); } } }</pre></p>
P粉239164234
P粉239164234

Antworte allen(2)
P粉066224086

Dropbox不再提供檢索新的長期訪問令牌的選項。相反,它發(fā)放短期訪問令牌和可選的刷新令牌,而不是長期訪問令牌。

應(yīng)用程序仍然可以通過請求“離線”訪問來獲得長期訪問權(quán)限,此時應(yīng)用程序會收到一個“刷新令牌”,可以根據(jù)需要檢索新的短期訪問令牌,而無需進一步手動用戶干預(yù)。您可以在OAuth指南授權(quán)文檔中找到更多信息。

無法完全自動化檢索訪問令牌和可選刷新令牌的過程。這需要用戶手動進行至少一次。如果您的應(yīng)用程序需要在不需要用戶重復(fù)手動重新授權(quán)的情況下保持長期訪問權(quán)限,則應(yīng)該請求“離線”訪問,以獲得刷新令牌。刷新令牌不會過期,可以存儲并重復(fù)使用,以在需要時獲取新的短期訪問令牌,而無需用戶手動重新授權(quán)應(yīng)用程序。

P粉364642019

我找到了解決方案

步驟1:首次通過授權(quán)/登錄URL登錄,完成身份驗證后,您將獲得訪問令牌和刷新令牌,將刷新令牌保存在數(shù)據(jù)庫或環(huán)境文件中。它的壽命很長。 (https://github.com/kunalvarma05/dropbox-php-sdk/wiki/Authentication-and-Authorization)

步驟2:使用刷新令牌,使用以下代碼生成新的訪問令牌

public function refreshToken()
    {
        $arr = [];
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, 'https://api.dropbox.com/oauth2/token');
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, "grant_type=refresh_token&refresh_token=<refresh_token_here>");
        curl_setopt($ch, CURLOPT_USERPWD, '<APP_KEY>'. ':' . '<APP_SECRET>');
        $headers = array();
        $headers[] = 'Content-Type: application/x-www-form-urlencoded';
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        $result = curl_exec($ch);
        $result_arr = json_decode($result,true);
        

        if (curl_errno($ch)) {
            $arr = ['status'=>'error','token'=>null];
        }elseif(isset($result_arr['access_token'])){
            $arr = ['status'=>'okay','token'=>$result_arr['access_token']];
        }
        curl_close($ch);
        return $arr;
    }

調(diào)用此函數(shù)以獲取新的訪問令牌

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage