安卓 Twitter Oauth 获取屏幕名称

3

我希望在使用Android上的OAuth登录Twitter后,能够知道我的屏幕名称。

@SuppressLint("NewApi")
    private void Authorize()
    {
        try {
            Consumer = new CommonsHttpOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET);
            Provider = new CommonsHttpOAuthProvider("http://twitter.com/oauth/request_token", "http://twitter.com/oauth/access_token", "http://twitter.com/oauth/authorize");
            StrictMode.enableDefaults();
            String authUrl = Provider.retrieveRequestToken(Consumer, CALLBACK_URL);
            Toast.makeText(this, "Please authorize this app!", Toast.LENGTH_LONG).show();
            startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(authUrl)));
        } catch (Exception e) {
            Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show();
        }
    }


@Override
    protected void onResume() {
        super.onResume();
        try
        {           
            Uri uri = this.getIntent().getData();  
            if (uri != null && uri.toString().startsWith(CALLBACK_URL)) {
                String oauth_verifier = uri.getQueryParameter(OAuth.OAUTH_VERIFIER);
                Consumer.setTokenWithSecret(Consumer.getToken(),Consumer.getTokenSecret());
                Provider.retrieveAccessToken(Consumer, oauth_verifier);
                HttpParameters params1 = Provider.getResponseParameters();
                String userName = params1.getFirst("screen_name");
                Toast.makeText(this, "user name >>>>>>>>" + userName, Toast.LENGTH_LONG).show();
            }
        } catch (Exception e) {
            Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show();
        }
    }

在 onResume 函数中抛出异常,但 e.getMessage() 为空 (Provider.retrieveAccessToken(Consumer, oauth_verifier); 错误行)。

我该如何修复此问题?


你能否提供CommonsHttpOAuthConsumer的代码或相关jar包? - Suresh Sharma
1个回答

1
你应该这样做:params1.get("screen_name").getFirst();
SortedSet<String> screenNameSet = mProvider.getResponseParameters().get("screen_name");  
String screenName = screenNameSet.first(); 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接