Je construis donc un script Java qui est utilisé conjointement avec mon application C++ pour envoyer des messages directs aux utilisateurs. le script fait le travail de construction de la requête que j'envoie. Quand j'envoie une demande, je reçois une «signature incorrecte» ou «ne peux pas m'authentifier» Est-ce que quelqu'un voit quelque chose qui me manque ou qui ne va pas? Je continue d'enquêter. Nous vous remercions à l'avanceTwitter OAuth, Erreur lors de la tentative de POST message direct
Javascript:
var nDate = new Date();
var epoch = nDate.getTime();
var nounce = "";
nounce = Base64.encode(epoch+randomString());
var Parameters = [
"oauth_consumerkey="+sConsumerKey,
"oauth_nonce="+nounce,
"oauth_signature_method=HMAC-SHA1",
"oauth_timestamp="+epoch,
"oauth_token="+sAccessToken,
"oauth_version=1.0",
"text="+sText,
"user="+sUser];
var SortedParameters = Parameters.sort();
var joinParameters = SortedParameters.join("&");
var encodeParameters = escape(joinParameters);
signature_base_string = escape("POST&"+NormalizedURL+"&"+encodeParameters);
signature_key = sConsumerSecret+"&"+sAccessSecret;
signature = Base64.encode(hmacsha1(signature_base_string,signature_key));
sAuthHeader = "
OAuth realm=,
oauth_nonce="+nounce+",
oauth_timestamp="+epoch+",
oauth_consumer_key="+sConsumerKey+",
oauth_signature_method=HMAC-SHA1,
oauth_version=1.0,
oauth_signature="+signature+",
oauth_token="+sAccessToken+",
text="+sText;
goNVOut.Set("Header.Authorization: ", sAuthHeader);
Une chose à vérifier est de s'assurer que l'heure de votre serveur est synchronisée avec celle de Twitter. Si cela dépasse 5 minutes, vos demandes échoueront. – abraham
comment puis-je avoir l'heure de Twitter? – Darxval
Je l'ai lentement obtenu, ce n'est pas complètement le travail mais, quand vous appelez les scripts Java, prenez le temps de gagner du temps en millisecondes. merci Abraham! – Darxval