使用Tumblr API 2.0进行授权

时间:2014-04-10 13:14:58

标签: jquery ajax api tumblr

我正在尝试使用Tumblr API发布内容 - 但我甚至无法连接到API!

我有以下AJAX调用(此示例中已删除所有键):

$.ajax({
    type:'GET',
    url: "http://api.tumblr.com/v2/blog/tomjhume.tumblr.com/post",
    dataType:'jsonp',
    data: {
        api_key : "XXXXXX"
    },
    success:function(response){
        console.log(response, arguments);
    }
 });

但是,它会返回"Not Authorized" 401。我已经与Tumblr授权了,他们给了我这个代码:

// Authenticate via OAuth
var tumblr = require('tumblr.js');
var client = tumblr.createClient({
  consumer_key: 'XXXXX',
  consumer_secret: 'XXXXX',
  token: 'XXXXX',
  token_secret: 'XXXXX'
});

// Make the request
client.userInfo(function (err, data) {
    // ...
});

但是,我不确定如何实现它,并且无法找到教程。如何将$.ajax函数与Tumblr给我的函数结合起来?

1 个答案:

答案 0 :(得分:0)

来自Tumblr's API page

  

API使用三种不同级别的身份验证,具体取决于   方法。

     
      
  • 无:无身份验证。任何人都可以查询该方法。
  •   
  • API密钥:需要API密钥。使用您的OAuth使用者密钥作为您的api_key。
  •   
  • OAuth:需要符合OAuth 1.0a协议的已签名请求。
  •   

您只能使用您发布的ajax代码直接从浏览器拨打不需要OAuth的电话。

如果您的呼叫需要OAuth,则需要通过自己的服务器路由呼叫。例如

  1. 对您的服务器进行ajax调用
  2. 您服务器上的
  3. 将使用tumblr.php
  4. 从Tumblr中提取数据
  5. 通过响应ajax调用将数据发送回浏览器