Skip to content

Instantly share code, notes, and snippets.

@marceloleiva
Created February 7, 2013 21:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save marceloleiva/4734133 to your computer and use it in GitHub Desktop.
Save marceloleiva/4734133 to your computer and use it in GitHub Desktop.
package com.example.twitter;
import oauth.signpost.OAuthConsumer;
import oauth.signpost.OAuthProvider;
import oauth.signpost.basic.DefaultOAuthProvider;
import oauth.signpost.commonshttp.CommonsHttpOAuthConsumer;
import oauth.signpost.exception.OAuthCommunicationException;
import oauth.signpost.exception.OAuthExpectationFailedException;
import oauth.signpost.exception.OAuthMessageSignerException;
import oauth.signpost.exception.OAuthNotAuthorizedException;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.http.AccessToken;
import twitter4j.http.RequestToken;
import winterwell.jtwitter.OAuthSignpostClient;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class WriteTweet extends Activity{
public final static String consumerKey = "YFRFQ8tn8CMtRT29ChYfZg";
public final static String consumerSecret = "CbWjCGRZEibG0UYmPdIMB89cSiSZ6BTMp0Ys9vZmM";
private final String CALLBACKURL = "x-oauthflow-twitter://callback_main";
Twitter twitter;
RequestToken requestToken;
// private OAuthSignpostClient oauthClient;
private OAuthConsumer mConsumer;
private OAuthProvider mProvider;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
loginUser();
}
private void loginUser() {
// TODO Auto-generated method stub
try {
twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer(consumerKey, consumerSecret);
requestToken = twitter.getOAuthRequestToken(CALLBACKURL);
// String authUrl = requestToken.getAuthorizationURL();
String token = requestToken.getToken();
String tokenSecret = requestToken.getTokenSecret();
mConsumer = new CommonsHttpOAuthConsumer(consumerKey, consumerSecret);
mProvider = new DefaultOAuthProvider(
"https://api.twitter.com/oauth/request_token",
"https://api.twitter.com/oauth/access_token",
"https://api.twitter.com/oauth/authorize");
String authUrl = mProvider.retrieveRequestToken(mConsumer,CALLBACKURL);
Log.e("authUrl",authUrl);
Log.e("token",token);
Log.e("tokensecret",tokenSecret);
this.startActivity(new Intent(Intent.ACTION_VIEW, Uri
.parse(authUrl)));
} catch (TwitterException ex) {
Toast.makeText(this, ex.getMessage(), Toast.LENGTH_LONG).show();
Log.e("in Main.OAuthLogin", ex.getMessage());
} catch (OAuthMessageSignerException e) {
// TODO Auto-generated catch block
Log.e("new exception","wtf");
e.printStackTrace();
} catch (OAuthNotAuthorizedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (OAuthExpectationFailedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (OAuthCommunicationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
protected void onNewIntent(Intent intent) {
Log.e("hi","hi");
super.onNewIntent(intent);
Uri uri = intent.getData();
try {
String verifier = uri.getQueryParameter("oauth_verifier");
AccessToken accessToken = twitter.getOAuthAccessToken(requestToken,
verifier);
String token = accessToken.getToken(), secret = accessToken
.getTokenSecret();
displayTimeLine(token, secret); //after everything, display the first tweet
} catch (TwitterException ex) {
Log.e("Main.onNewIntent", "" + ex.getMessage());
}
}
@SuppressWarnings("deprecation")
void displayTimeLine(String token, String secret) {
Log.e("display","timeline");
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment