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

Mat*_*ady 5 api jquery 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){

    }
})
Run Code Online (Sandbox Code Playgroud)

我通过get找到了标签的位置.他们位于

results.response.posts[#].tags[#]
Run Code Online (Sandbox Code Playgroud)

我之前从未做过api帖子,所以我不知道该怎么做才能成功.任何帮助,将不胜感激.

小智 3

你是对的,你确实需要使用 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
});
}
Run Code Online (Sandbox Code Playgroud)

注意,这些都没有经过测试,因为我没有 tumblr 帐户,而且我不喜欢注册 OAuth 密钥。希望这对您有用。