发布了Android API鸣叫 [英] Post a tweet with Android API

查看:141
本文介绍了发布了Android API鸣叫的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在寻找一种方式来发表我的Andr​​oid应用程序鸣叫,但我已经找到了事情不工作。

I've been searching for a way to post a tweet with my Android application, but all the things I've found don't work.

我不得不承认,Twitter的API不是那么简单的理解,但我的code不是很长,我看不出哪里是我的错误。

I have to admit that Twitter's API isn't so simple to understand, but my code isn't really long, and I don't see where is my mistake.

这是我的code:

public class PartagerTwitter extends Activity {

    private CommonsHttpOAuthConsumer httpOauthConsumer;
    private OAuthProvider httpOauthprovider;
    public final static String consumerKey = XXX;
    public final static String consumerSecret = XXX;
    private final String CALLBACKURL = "myapp://twitactivity";
    private Twitter twitter;

    @Override

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        try {
            httpOauthConsumer = new CommonsHttpOAuthConsumer(consumerKey, consumerSecret);
            httpOauthprovider = new DefaultOAuthProvider("https://twitter.com/oauth/request_token",
                    "https://twitter.com/oauth/access_token",
            "https://twitter.com/oauth/authorize");
            String authUrl = httpOauthprovider.retrieveRequestToken(httpOauthConsumer, CALLBACKURL);

            this.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(authUrl)));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Override
    protected void onNewIntent(Intent intent) {

        super.onNewIntent(intent);  
        Uri uri = intent.getData();
        Log.i("test", uri.toString());  
        if (uri != null && uri.toString().startsWith(CALLBACKURL)) {
            String verifier = uri.getQueryParameter(oauth.signpost.OAuth.OAUTH_VERIFIER);
            try {
                httpOauthprovider.retrieveAccessToken(httpOauthConsumer, verifier);     
                twitter = new TwitterFactory().getInstance();
                twitter.setOAuthConsumer(consumerKey, consumerSecret);

                RequestToken requestToken = twitter.getOAuthRequestToken(CALLBACKURL); 
                AccessToken accessToken = twitter.getOAuthAccessToken(requestToken);
                String token = accessToken.getToken(), 
                secret = accessToken.getTokenSecret();

                accessToken = new AccessToken(token,secret);
                Twitter twitter = new TwitterFactory().getOAuthAuthorizedInstance(consumerKey,consumerSecret,accessToken);
                twitter.updateStatus("My First Status Update");
            } catch (Exception e) {
                e.printStackTrace();

            }
        }
    }
}

当然,我的钥匙不是XXX。 而另一个问题,是有可能,登录后,关闭Twitter的窗口,并把我的活动前景?

Of course, my keys aren't XXX. And another question, is it possible, after login, to close the Twitter window and bring my activity to the foreground?

推荐答案

请检查<一href="http://blog.doityourselfandroid.com/2011/02/13/guide-to-integrating-twitter-android-application/">the下面的博客帖子一个完整的端至端引导从一个Android应用程序发布到Twitter。

Please check the following blog post for a complete end-to-end guide for posting to Twitter from an Android app.

这也包括在 Github上工作Android的样本。

It also includes a working Android sample in Github.

这篇关于发布了Android API鸣叫的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆