从自定义主题中调用Tumblr API

时间:2014-06-03 15:48:25

标签: javascript api themes tumblr

我正在为需要使用该平台的客户编写自定义tumblr主题。

所需的功能超出了自定义主题标签提供的功能,因此我需要合并API调用以增加改进的体验。

我是一位经验丰富的开发人员,但对Tumblr来说却是全新的。有没有办法可以在我的主题中调用他们的API,而不需要OAuth回调?

目前我的主题包含一个HTML文件和一个外部JS文件,它可以执行大量其他操作(非Ajax类型的东西)。

理想情况下如下:

  request = new XMLHttpRequest();
  request.open('GET', 'http://api.tumblr.com/v2/blog/fdsfdsf.tumblr.com/posts', true);
  request.onerror = _handleError;
  request.onload = _handleResponse;
  request.send();

1 个答案:

答案 0 :(得分:5)

部分由@ Adam的回应帮助。我的最终解决方案是在tumblr.com/oauth/apps创建一个应用程序,然后在我的API请求中使用我的使用者密钥:

http://api.tumblr.com/v2/blog/<MY_BLOG>/posts/photo?api_key=<MY_KEY>&jsonp=callback"并使用JSONP处理callback函数。

我的最终代码:

var apiKey = "gdfgdfgdfgdsfgdfhgsdfghsfdh";
var requestURL = "http://api.tumblr.com/v2/blog/dfsdf.tumblr.com/posts/photo?api_key=" + apiKey + "&jsonp=callback";

var script = document.createElement('script');
script.src = requestURL;

document.getElementsByTagName('head')[0].appendChild(script);
// or document.head.appendChild(script) in modern browsers

window.callback = function (data) {
    console.log(data);
}