通过API将标签添加到tumblr帖子

时间:2014-01-12 22:58:51

标签: jquery api post tumblr

我正在尝试通过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帖子,所以我不知道该怎么做才能成功。任何帮助将不胜感激。

1 个答案:

答案 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密钥,所以这些都没有经过测试。希望这可能会对你有所帮助。