[問題] Dropbox OAuth的一些小問題

作者: a020304888a (張小台)   2014-09-01 21:48:36
大家好 小弟我最近使用dropbox api
發現一個小問題
如圖
http://imgur.com/sIzISZh
就是每次執行程式都需要允許一下 希望可以只按一次
試了一些方法但沒辦法改善
所以想請問一下有使用過dropbox api的前輩
我是在第一次finishAuthentication後
將dropbox.getSession().getOAuth2AccessToken()存到String
在將String 存到偏好檔
然後之後使用這個app
在用dropbox.getSession().setOAuth2AccessToken(偏好檔所存的String)
但是這樣沒有用所以覺的怪怪的= =不知道哪裡錯了
簡易程式碼:
public void onCreate(Bundle savedInstanceState) {
//setting 是偏好設定檔的物件
setting = getSharedPreferences("PersonSetting", 0);
String accessToken = setting.getString("AccessToken", null);
AndroidAuthSession session = new AndroidAuthSession(new
AppKeyPair(ACCESS_KEY, ACCESS_SECRET));
dropbox = new DropboxAPI<AndroidAuthSession>(session);
if(accessToken == null){
dropbox.getSession().startOAuth2Authentication(MainActivity.this);
} else {
dropbox.getSession().setOAuth2AccessToken(accessToken);
}
}
protected void onResume() {
if (dropbox.getSession().authenticationSuccessful()) {
dropbox.getSession().finishAuthentication();
String accessToken = dropbox.getSession().getOAuth2AccessToken();
setting.edit()
.putString("AccessToken", accessToken)
.commit();
}
}
大概這樣 簡單說就是希望可以在程式跑第一次按允許後,之後就不需要了
以上 謝謝
作者: henry4343 (henry)   2014-09-01 22:57:00
印象中就是把token存起來,然後判斷有沒有存token有token的話就用token去new dropbox的物件沒有的話才跑認證取token
作者: a020304888a (張小台)   2014-09-01 23:44:00
我覺的我現在就是用h大說的方法可是就怪怪的= =
作者: luluking (luluking)   2014-09-04 09:29:00
你確定onResume那段if有進去嗎
作者: a020304888a (張小台)   2014-09-04 15:52:00
有阿 跑下一次可以用log把token print 出來
作者: henry4343 (henry)   2014-09-05 16:01:00
那確定token有存進去?

Links booklink

Contact Us: admin [ a t ] ucptt.com