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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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