我正在尝试通过tumblr api将标签添加到带有jquery的tumblr帖子中。
到目前为止,我已经将api称为:
$.ajax({
url: 'http://api.tumblr.com/v2/blog/<My Blog>.tumblr.com/post/edit',
method: 'post',
data : ({
api_key :'<My Secret Key>',
}),
dataType: 'jsonp',
success: function(results){
}
})
我通过get找到了标签的位置。他们位于
results.response.posts[#].tags[#]
我之前从未做过api帖子,所以我不知道该怎么做才能成功。任何帮助将不胜感激。
答案 0 :(得分:3)
你是对的,你需要使用OAuth来发出请求,但是有Javascript客户端(包括一个用于jQuery)可以帮助你做到这一点。
在继续操作之前,您需要register your application才能获取OAuth密钥。
可以找到jQuery特定的OAuth客户端here,下面的功能可以从它的文档中进行调整。
有关其他Javascript客户的信息,请访问OAuth page。
function tagEdit(tagID, tags){
var oauth = OAuth({
consumer: {
public: '[public key]',
secret: '[secret key]'
},
signature_method: 'HMAC-SHA1'
});
var request_data = {
url: 'http://api.tumblr.com/v2/blog/[your blog].tumblr.com/post/edit',
method: 'POST',
data: {
id: tagID, tag: tags
}
};
var token = {
public: '[public token]',
secret: '[public key]'
};
$.ajax({
url: request_data.url,
type: request_data.method,
data: request_data.data,
headers: oauth.toHeader(oauth.authorize(request_data, token))
}).done(function(data) {
//what happens after the post has taken place
});
}
注意,由于我没有tumblr帐户而且我不喜欢注册OAuth密钥,所以这些都没有经过测试。希望这可能会对你有所帮助。