Aller au contenu

utilisation api twitter


l-amoureu

Recommended Posts

Bonjour

J'essaye depuis quelque jours d'utiliser l'api twitter, mais j'ai un peu de mal (notamment a twitter)

A l'aide de plusieurs tuto sur le net, j'ai essayé de mettre en place un code qui me permette de twitter sur mon mur (lié a une application twitter), mais ca ne fonctionne jamais.

Si quelqu'un pouvais me donner une piste

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);
//		setContentView(R.layout.partage_twitter);
	doOauth();
}

private void doOauth() {
	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);
			Status status = twitter.updateStatus("My First Status Update");
			int statusId = (int)status.getId();
		} catch (Exception e) {
			e.printStackTrace();

		}
	}
}
}

Bien entendu, les XXX sont remplacé par les bonne clés (fournis par twitter)

Et, tant que j'y suis, j'aimerais aussi qu'une fois le tweet soit fait, l'application revienne directement sur ma dernière activity.

Cordialement

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...