1
내 응용 프로그램을 다시 시작한 후에 저장된 인증 토큰을 사용하는 방법을 모르기 때문에 다시 인증 할 필요가 없습니다. 다시 시작한 후에 보관 용 계정 인증 신청
/*DROPBOX ==========================*/
private String APP_KEY= "key";
private String APP_SECRET= "secret";
AppKeyPair appKeys;
AndroidAuthSession session;
DropboxAPI<AndroidAuthSession> dpAPI;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.readings_main);
//get dropbox keys
SharedPreferences sharedPref = getSharedPreferences(getString(R.string.dp_key_token), Context.MODE_PRIVATE);
// if i use these 2 lines i get exception that my key isn´t set in manifest, and thats true because in manifest i have the first key, not hte generated after auth.
// APP_KEY= sharedPref.getString("key", "key");
// APP_SECRET= sharedPref.getString("secret", "secret");
appKeys = new AppKeyPair(APP_KEY, APP_SECRET);
// setup dropbox session
session = new AndroidAuthSession(appKeys, AccessType.DROPBOX);
dpAPI= new DropboxAPI<AndroidAuthSession>(session);
}
protected void onResume() {
super.onResume();
if (dpAPI.getSession().authenticationSuccessful()) {
try {
// Required to complete auth, sets the access token on the session
dpAPI.getSession().finishAuthentication();
AccessTokenPair tokens = dpAPI.getSession().getAccessTokenPair();
//store keys in sharedpreferences ;
storeKeys(tokens.key, tokens.secret);
} catch (IllegalStateException e) {
Log.i("DbAuthLog", "Error authenticating", e);
}
}
}
public boolean storeKeys(String key, String secret) {
SharedPreferences sharedPref = getSharedPreferences(getString(R.string.dp_key_token), Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString("key", key);
editor.putString("secret", secret);
return editor.commit();
}
나중에 내가 사용
...dpAPI.getSession().startAuthentication(ADLAppActivity.this);
하고 난 파일을 업로드, 그래서 모든 것이 나를 위해 잘 작동합니다. 하지만 앱을 다시 시작한 후 다시 인증하고 싶지 않습니다. SharedPref에서 저장된 토큰을 어떻게 사용해야합니까 ???
나는이 답변을 찾기에는 너무 오랫동안 파고 들었다. 고마워요, 선생님! – Sipty