是否可以在一个Android应用中同时使用Core和Sync Api?
答案 0 :(得分:1)
可以一起使用它们。这是一个2部分的设置。
删除项目错误:
client2.Auth
类 - 导致命名空间冲突的任何内容。在修复此问题之前,您将看到错误验证SDK:
使用以下方法从您的Core SDK获取同步SDK的oAuth凭据:
AppKeyPair appKeyPair = new AppKeyPair(APP_KEY, APP_SECRET);
AndroidAuthSession session = new AndroidAuthSession(appKeyPair);
session.setOAuth2AccessToken(getTokenFromSyncAPI());
session.finishAuthentication();
最后,遗漏的方法:
String getTokenFromSyncAPI() {
String token = null;
String allTokens = getApplicationContext().getSharedPreferences("dropbox-credentials",
Context.MODE_PRIVATE).getString("accounts", null);
try {
JSONArray jsonAccounts = new JSONArray(allTokens);
if (jsonAccounts.length() > 0) {
String tmpToken = null;
tmpToken = jsonAccounts.getJSONObject(0).getString("userToken");
// We take only oAuth2 tokens
if (tmpToken.startsWith("|oa2|"))
token = tmpToken.substring(5);
}
} catch (JSONException e) {
e.printStackTrace();
}
return token;
}
方法礼貌:https://blogs.dropbox.com/developers/2015/05/migrating-sync-sdk-access-tokens-to-core-sdk/
PS:链接中显示的方法有错误。 substring(6)
代替5