[英]Twitter4J Creating Callback URL That Goes Back To My App
我已閱讀以下內容: Android:使用Twitter4J使用Twitter登錄
在我需要的上下文中,選擇的答案沒有任何意義。
我希望用戶能夠從我們的應用程序登錄其Twitter帳戶,然后,一旦他們登錄,我希望重新加載我們的應用程序。
它加載了twitter網頁(盡管我希望他們可以只在我的應用程序中登錄而不需要瀏覽器),但是然后我不確定如何將“我的應用程序”設置為回調。
您能建議我在哪里可以找到(或設置它是否不存在)回調URL,以便當用戶登錄Twitter時,我們的應用程序重新打開嗎?
這是我的登錄代碼:
public void loginUser()
{
//Check if already logged in
if (!isTwitterLoggedInAlready()) {
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.setOAuthConsumerKey(TWITTER_CONSUMER_KEY);
builder.setOAuthConsumerSecret(TWITTER_CONSUMER_SECRET);
Configuration configuration = builder.build();
TwitterFactory factory = new TwitterFactory(configuration);
twitter = factory.getInstance();
try {
//What do I set my TWITTER_CALLBACK_URL as?
requestToken = twitter.getOAuthRequestToken(TWITTER_CALLBACK_URL);
this.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(requestToken.getAuthenticationURL())));
} catch (TwitterException e) {
e.printStackTrace();
}
} else {
// user already logged into twitter
Toast.makeText(getApplicationContext(),
"Already Logged into twitter", Toast.LENGTH_LONG).show();
}
}
我無法弄清楚清單中的意圖是如何工作的。
相反,我做了以下工作(並且有效)
創建了一個WebViewClient並覆蓋了它的shouldOverrideUrlLoading
將此WebViewClient設置為webview並從那里加載twitter登錄。
在我的WebView客戶端中,我正在解析Twitter響應以查找我的字符串(可以是任何字符串)。 如果存在,我將隱藏Webview。
@Override public boolean shouldOverrideUrlLoading (WebView view, String url) { Log.d("Loading webview", url); if (url.contains(TwitterActivity.CALLBACK_URL)) { Uri uri = Uri.parse(url); String oauthVerifier = uri.getQueryParameter("oauth_verifier"); _twitterActivty.closeTwitterBrowser(oauthVerifier); return false; } view.loadUrl(url); return true; }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.