I'm trying to make a text post to Tumblr using their API and chrome_ex_oauth.
- API: http://www.tumblr.com/docs/en/api/v2#posting
- chrome_ex_oauth: http://code.google.com/chrome/extensions/tut_oauth.html
The whole process of getting authorized works. What I can't get to work is doing a POST. I'm doing the following:
Edit: I've updated the code to reflect Rob W's correct suggestion about the body field
var stringify = function (parameters) {
var params = [];
for(var p in parameters) {
params.push(encodeURIComponent(p) + '=' +
encodeURIComponent(parameters[p]));
}
return params.join('&');
};
var onAuthorized = function() {
var url = 'http://api.tumblr.com/v2/blog/jindie.tumblr.com/post';
var request = {
'method': 'POST',
'headers':{
'Content-Type':'application/x-www-form-urlencoded'
},
'body': stringify({
'type': 'text',
'state': 'draft',
'title': 'Test post...',
'body': 'Hello, World!'
})
};
oauth.sendSignedRequest(url, function(responseText, xhr){alert(responseText);}, request);
};
oauth.authorize(onAuthorized);
I've been examining the code, and thinking what could be wrong, but I seriously have no idea. Do you?
Do you know where I'm going wrong?