J'essaie d'utiliser l'API de Twitter et OAuth pour envoyer des mises à jour de statut (nouveaux Tweets). J'utilise Shannon Whitley Exemple de code .NET http://www.voiceoftech.com/swhitley/?p=681 (comme recommandé sur les docs de l'API Twitter). Je peux lire (GET) en utilisant OAuth très bien, cependant quand j'essaie d'envoyer une mise à jour de statut via http: //twitter.com/statuses/update.xml (en utilisant un POST), il renvoie un 401 avec le code XML suivant:Twitter API + OAuth: Impossible d'envoyer des mises à jour de statut, obtenant 401
<?xml version="1.0" encoding="UTF-8"?>
<hash>
<request>/statuses/update.xml</request>
<error>Read-only application cannot POST</error>
</hash>
Je te jure que je l'ai mis en place mon application à utiliser lire et écrire, la page sur Twitter Authorize (http: //twitter.com/oauth/authorize) dit même « l'application TweeVerbs.com (développement) par souhaitez la possibilité d'accéder à et mettre à jour vos données sur Twitter. "
Pourtant, il est toujours dit "L'application en lecture seule ne peut pas POST". WTF !?
J'ai googlé ce message d'erreur jusqu'à ce que j'étais bleu dans le visage. J'ai trouvé quelque part que dit ajouter le querystring paremeter oauth_access_type = écrire à l'URL de redirection qui va à la Twitter autorise la page que je l'ai fait, mais il me donne encore 401.
Si elle aide, voici les données qui se renvoyé et liman selon le flux OAuth:
Demande Autorisez Token:
http: //twitter.com/oauth/request_token oauth_consumer_key = tViV8vAt4cqSKbGdPGWT7Q & oauth_nonce = 2790042 & oauth_signature_method = HMAC-SHA1 & oauth_timestamp = 1244567068 & oauth_version = 1,0 & oauth_signature = KzxcXN% 2bQ0AJoAJ% 2flQfzs8SLjC% 2fQ% 3d
généré Autorisez Redirect URL:
http: // twitter ? .com/oauth/autoriser oauth_token = EpyBg3nJGOmtmBjRUAsqqaGHARb2F2F2VcccqHkwio & oauth_access_type = écrire
Autorisez message de l'écran:"L'application TweeVerbs.com (Développement) par souhaitez la possibilité d'accéder et de mettre à jour vos données sur Twitter. Cette application prévoit d'utiliser Twitter pour vous connecter à l'avenir. Inscrivez-vous si vous voulez vous connecter à un compte autre que Sironfoot «
Get jeton d'accès:.
http: //twitter.com/oauth/access_token oauth_consumer_key = tViV8vAt4cqSKbGdPGWT7Q & oauth_nonce = 2016804 & oauth_signature_method = HMAC-SHA1 & oauth_timestamp = 1244567166 & & oauth_token = EpyBg3nJGOmtmBjRUAsqqaGHARb2F2F2VcccqHkwio oauth_version = 1,0 & oauth_signature =% 2bEVQUxUPLT% 2b% 2bkfaG0Vq1YJZXcAw% 3d
Mise à jour de l'état Appel de l'API: URL - http: //twitter.com/statuses/update.xml données POST - oauth_consumer_key = tViV8vAt4cqSKbGdPGWT7Q & oauth_nonce = 5707692 & oauth_signature_method = HMAC-SHA1 & oauth_timestamp = 1244567268 & oauth_token = 19130957-nb89DjZhjCAzcbHUa96yRWHqlQFQIJ0AKyXpqnHt1 & oauth_version = 1,0 & status = HelloWorld & oauth_signature = wqa% 2bWY0IxveeSJ7G3Ewy3whh1sE% 3d
'L'appel de l'API de mise à jour de l'état 'ne manque-t-il pas' oauth_verifier'? Je ne pouvais que poster ce paramètre aussi ... Et 'oauth_callback' ... – BrunoLM
Wow, c'est à la fois une question et un très bon condensé Twitter mémo flow oauth. Sauvé ma journée, 1000 jours plus tard. –