我正在尝试将dropbox集成到我的应用程序中。如果我使用标准dropbox apis,登录时会将其重定向到浏览器或Dropbox应用程序。我确实希望远离我的应用程序,因此对于dropbox的oAuth 2.0身份验证,我想使用webview。
使用" Implicit Grant"
可以使用Dropboxhttps://www.dropbox.com/developers/blog/45/using-oauth-20-with-the-core-api
但我无法实现这个" Implicit Grant"。我不确定将什么放入" REDIRECT URL"我正在形成的网址的一部分。
有人可以帮我这个吗?
答案 0 :(得分:1)
您可以在重定向网址中添加所需内容。当Dropbox完成与用户的身份验证时,它将尝试加载您提交的REDIRECT_URI,但在此之前,WebViewClient将捕获该重定向。
webview.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
...
if ( url.startsWith(REDIRECT_URI) ) {
// extract OAuth2 access_token appended in url
if ( url.indexOf("access_token=") != -1 ) {
accessToken = mExtractToken(url);
// store in default SharedPreferences
Editor e = getPreferences(Context.MODE_PRIVATE).edit();
e.putString(SHPREF_KEY_ACCESS_TOKEN, accessToken);
e.commit();
}
// don't go to redirectUri
return true;
}
// load the webpage from url: login and grant access
return super.shouldOverrideUrlLoading(view, url); // return false;
}
});
获得http://techblog.constantcontact.com/software-development/implementing-oauth2-0-in-an-android-app/的代码。