我正在为需要使用该平台的客户编写自定义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();
答案 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);
}