Jump to content

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

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...