我想在我的Android应用程序中使用imgur API。 但是我对授权有疑问。我想获取访问令牌(OAuth2),但是imgur重定向到/ galery(在URL中未获取访问令牌)。
我的功能(使用WebView)
private void setImgurWebview() {
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setDomStorageEnabled(true);
mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
mWebView.loadUrl(imgur.getUrlOauth2());
mWebView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
Uri uri = Uri.parse(url.replace('#', '?'));
super.onPageFinished(view, url);
if (uri.toString().contains("acces_token")) {
imgur.setTokenAccess(uri.getQueryParameter("access_token"));
}
}
});
}
我的IMGUR Clas:
package com.example.wilka.epicture;
public class Imgur {
// API Parameters
private String clientId; // Client ID Registration (in Imgur.com)
private String responseType; // Type of API response
private String state; // Any String for help to the integration
// Client Parameters
private String tokenAccess;
Imgur(String clientId, String responseType, String state) {
this.clientId = clientId;
this.responseType = responseType;
this.state = state;
}
String getUrlOauth2() {
return ("https://api.imgur.com/oauth2/authorize?client_id=" + this.clientId +
"&response_type=" + this.responseType +
"&state=" + this.state);
}
void setTokenAccess(String tokenAccess) {
this.tokenAccess = tokenAccess;
}
String getTokenAccess() {
return (this.tokenAccess);
}
}
出什么问题了? 谢谢你!