Bonjour à tous,
j'essaie de poster sur Twitter en vain...
En effet, il faut désormais "signer" ses requêtes HTTP avec OAuth. Après avoir essayé (en vain) de mettre en place moi même le processus d'authentification, jessaie d'utiliser Signpost pour signer mes requêtes.
je parviens à envoyer des requêtes GET (en utilisant HTTPsUrlConnection) signées à Twitter et j'obtiens un retour 200. Mais celà se gâte dès que je veux utiliser des requêtes POST, avec des données dans le corps de la requêtes...
J'obtoens systématiquement un retour 401 forbidden...
Quelqu'un a-t-il trouvé comment remplir le body, signer la requête et l'envoyer sur les serveur de Twitter ?
Merci d'avance !
Voici mon code :
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 OAuthConsumer consumer = new CommonsHttpOAuthConsumer("XXXX"); consumer.setTokenWithSecret("XXXXX"); System.out.println("Access token: " + consumer.getToken()); System.out.println("Token secret: " + consumer.getTokenSecret()); HttpPost post = new HttpPost("https://api.twitter.com/1.1/statuses/update.json"); consumer.sign(post); String urlParameters = "include_entities=true&status=HiEveryone"; StringEntity entity = new StringEntity(urlParameters); post.setEntity(entity); HttpClient httpClient = new DefaultHttpClient();//params); System.out.println("Sending request to Twitter..."); System.out.println(httpClient.execute(post, new BasicResponseHandler()));
Partager