I am attempting to call the batch lookup method (http:// dev.twitter.com/doc/get/users/lookup) using JavaScript. I've successfully managed to authorize the user and obtain an Access token etc. and I'm not attempting to make the data request:
var TEST_IDS = escape("[21495828,20128230,15798970,12374722,39745560]"); var LOOKUP_URL = 'http://api.twitter.com/1/users/lookup.json'; var oauth_nonce = getNonce(); //Returns a random nonce. Confirmed as working OK var newtimestamp = getTimeStamp(); //Confirmed as working OK var baseString = "POST&http%3A%2F%2Fapi.twitter.com%2F1%2Fusers %2Flookup.json&oauth_consumer_key%3D" + oauth_consumer_key + "%26oauth_nonce%3D" + oauth_nonce + "%26oauth_signature_method%3DHMAC- SHA1%26oauth_timestamp%3D" + newtimestamp + "%26oauth_token%3D" + authentication.oauth_token + "%26user_id%3D" + TEST_IDS; var oauth_signature_base = oauth_consumer_secret + "&" + authentication.oauth_token_secret; var oauth_signature = b64_hmac_sha1(oauth_signature_base, baseString); var key = "oauth_consumer_key=" + oauth_consumer_key; var method = "&oauth_signature_method=" + oauth_signature_method; var signature = "&oauth_signature=" + oauth_signature; var timestamp = "&oauth_timestamp=" + newtimestamp; var nonce = "&oauth_nonce=" + oauth_nonce; var oauth_token = "&oauth_token=" + authentication.oauth_token; var list = "&user_id=" + TEST_IDS; var postdata = key + nonce + signature + method + timestamp + oauth_token + list; //Make our request var req = new Ajax.Request(LOOKUP_URL, { method: 'post', evalJSON: 'true', postBody: postdata, contentType: 'application/x-www-form-urlencoded', onComplete: function(response) { ListRequestComplete(response); } }); However, the above is returning the following from the API: {"error":"Incorrect signature","request":"\/1\/users\/lookup.json"} I've confirmed that the authentication object contains the token and token_secret correctly received from the AccessToken process, so I don't know what I'm doing wrong here. Can anyone advise what I'm doing wrong in my signature to make the above request? Thanks -- Twitter developer documentation and resources: http://dev.twitter.com/doc API updates via Twitter: http://twitter.com/twitterapi Issues/Enhancements Tracker: http://code.google.com/p/twitter-api/issues/list Change your membership to this group: http://groups.google.com/group/twitter-development-talk