1

我正在使用 twitter4j api 登录推特并发布推文。我还在https://dev.twitter.com/apps/new上注册了该应用程序并获得了消费者密钥和秘密。

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();
requestToken = twitter.getOAuthRequestToken(TWITTER_CALLBACK_URL);
String url = requestToken.getAuthenticationURL();

browser  = (WebView) findViewById(R.id.webView1_test);
browser.loadUrl(requestToken.getAuthenticationURL());
browser.getSettings().setJavaScriptEnabled(true);

这是我用来登录的代码。但问题是这会在 webview 中打开一个用户身份验证表单,该表单需要用户名和密码。我想避免打开该网页并以编程方式登录密码。请帮助解决这个问题。

4

2 回答 2

0

我有同样的问题,我发现这个教程真的很有帮助,请检查这个:

@Override
public void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
    final Uri uri = intent.getData();
    if (uri != null && uri.getScheme().equals(Constants.OAUTH_CALLBACK_SCHEME)) {
        Log.i(TAG, "Callback received : " + uri);
        Log.i(TAG, "Retrieving Access Token");
        new RetrieveAccessTokenTask(this, consumer, provider, prefs).execute(uri);
        finish();
    }
}
于 2013-01-29T10:07:51.740 回答
0

我不相信 Twitter 提供用于用户身份验证的 API。只有一个用户认证网页。你可以在这里查看他们的 API 文档:https ://dev.twitter.com/docs

于 2017-02-25T16:05:17.553 回答