ログインせずに PHP で Dropbox API のアクセス トークンを更新する方法
P粉239164234
P粉239164234 2023-08-26 11:28:49
0
2
625
<p>https://github.com/kunalvarma05/dropbox-php-sdk を使用して Dropbox にファイルをアップロードしています。 </p> <p>ここでは、Dropbox を使用するユーザーは必要ありません。Dropbox にファイルをアップロードできるように内部ユーザーのみが使用します。 </p> <p>Dropbox アプリからアクセス トークンを生成したところ、すべて正常に動作しましたが、しばらくするとトークンの有効期限が切れてしまいます。トークンを再生成するために Oauth ログインを実行しましたが、新しいトークンもしばらくすると期限切れになります。 </p> <p>ユーザーが新しいファイルをアップロードするたびにスクリプトがファイルを Dropbox にアップロードできるように、トークンを再生成するか、有効期間の長いトークンを取得するにはどうすればよいですか? </p> <p>この簡単なコードを使用しています</p> <pre class="brush:php;toolbar:false;">include('dropbox/vendor/autoload.php'); $app = new DropboxApp("client_id", "client_secret", 'access_token'); $dropbox = 新しい Dropbox($app); $data = []; // ここでデータベースからファイルのリストを取得します if (!$data->isEmpty()) { foreach ($data を $list) { $filePath = 'フォルダパス/'.$list->ファイル名; $fileName = $list->ファイル名; 試す { // パスから Dropbox ファイルを作成 $dropboxFile = 新しい DropboxFile($filePath); // ファイルを Dropbox にアップロードします $uploadedFile = $dropbox->upload($dropboxFile, "/folder_name/" . $fileName, ['autorename' => true]); // ファイルがアップロードされました echo $uploadedFile->getPathDisplay(); } キャッチ (DropboxClientException $e) { print_r($e->getMessage()); } } }</pre></p>
P粉239164234
P粉239164234

全員に返信(2)
P粉066224086

Dropbox では、新しい長期アクセス トークンを取得するオプションが提供されなくなりました。代わりに、長期アクセス トークンの代わりに、短期アクセス トークンとオプションのリフレッシュ トークンを発行します。

アプリケーションは、「オフライン」アクセスを要求することで長期アクセスを取得できます。その時点で、アプリケーションは「リフレッシュ トークン」を受け取り、ユーザーが手動で介入しなくても、必要に応じて新しい短期アクセス トークンを取得できます。詳細については、OAuth ガイド および Authorization Documentation を参照してください。

アクセス トークンとオプションのリフレッシュ トークンを取得するプロセスは、完全に自動化することはできません。これには、ユーザーが少なくとも 1 回は手動で行う必要があります。ユーザーが繰り返し手動で再認証する必要がなく、アプリケーションが長期的なアクセスを維持する必要がある場合は、リフレッシュ トークンを取得するために「オフライン」アクセスを要求する必要があります。リフレッシュ トークンには有効期限がなく、保存して再利用して、必要なときにユーザーがアプリケーションを手動で再認証することなく、新しい短期間のアクセス トークンを取得できます。

いいねを押す +0
P粉364642019

解決策を見つけました

ステップ 1: 認可/ログイン URL から初めてログインします。認証が完了すると、アクセス トークンとリフレッシュ トークンが取得されます。リフレッシュ トークンをデータベースまたは環境ファイルに保存します。長寿命です。 (https://github.com/kunalvarma05/dropbox-php-sdk/wiki/Authentication-and-Authorization)

ステップ 2: リフレッシュ トークンを使用し、次のコードを使用して新しいアクセス トークンを生成します

リーリー

この関数を呼び出して新しいアクセス トークンを取得します

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!