私の問題は、最初の認証からのキーとシークレットを保存するデータベースに既存のユーザーがいるということです。戻ってきたらまた利用したいです。初めての認証では、すべて正常に機能しています。Dropbox API からのすべてのメソッド呼び出しを使用でき、トークン (キーとシークレット) はデータベースに保存されました。
アプリに戻り、データベースからトークンを取得してセッションに設定し、現在のセッションを API にリンクします。
session = new WebAuthSession(appKeys, ACCESS_TYPE);
api = new DropboxAPI<WebAuthSession>(session);
String userKey = dropboxUserObj.getUserKey(); //Key from database
String userSecret = dropboxUserObj.getUserSecret();//Secret from database
AccessTokenPair userAccessTokenPair = new AccessTokenPair(userKey, userSecret);
session.setAccessTokenPair(userAccessTokenPair);
を使用してAPIからユーザーデータを取得したい場合、DropboxUnlinkedExceptionが返されます
String userDisplayName = api.accountInfo().displayname;
デバッグモードで確認しました。API は現在のセッションにリンクされました。現在のセッションには、Appkey とユーザーのトークン、および正しいアクセス タイプが保存されています。私が疑う点は、「client = null」を見たことです。何かを忘れているかもしれませんが、すべてをチェックし、考えられるすべての可能性を試してみましたが、それでも「DropboxUnlinkedException」が返されました。これは、セッションにアクセス トークン ペアを設定しておらず、アクセスを確実に取り消していないことを意味します。
私が理解するのを手伝ってください...
スクリーンショットを追加しました おそらくそれは私の問題を説明することができます