Created
February 7, 2013 21:01
-
-
Save marceloleiva/4734133 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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