【问题标题】:Call Tumblr API from within a custom theme从自定义主题中调用 Tumblr API
【发布时间】:2014-06-03 15:48:24
【问题描述】:

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

【问题讨论】:

标签: javascript api themes tumblr


【解决方案1】:

@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);
}

【讨论】:

  • 是的,就是这样!感谢您发布您的解决方案。
  • 这非常强大...现在您可以访问主题中的整个 API,而不仅仅是主题 API 提供的东西。介意暗示一下你将如何处理它吗?
  • @Cyrin 是的,我使用这种技术为 RayBan 的品牌 Persol 构建了一个主题 persol.tumblr.com
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多