我正在尝试通过 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 帖子,所以我不确定在成功函数中该怎么做。任何帮助将不胜感激。
你是对的,你确实需要使用OAuth来发出请求,但是有Javascript客户端(包括一个用于jQuery的客户端)可以帮助你做到这一点。
在继续之前,您需要注册应用程序才能获取 OAuth 密钥。
jQuery特定的OAuth客户端可以在这里找到,下面的函数改编自它的文档。
有关其他 Javascript 客户端的信息可以在 OAuth 页面找到。
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 密钥。希望这对你有用。