【问题标题】:No Authentication Pop up with Tumblr Like <a> link没有身份验证弹出 Tumblr Like <a> 链接
【发布时间】:2015-03-26 00:23:52
【问题描述】:

到目前为止,我正在构建一个自定义 Tumblr 页面,该页面基本上将帖子内容聚合到一个页面中。

问题是,我们不能使用 Tumblr 标签来点赞,我们已经成功地让 Reblog 工作了,但是当我尝试使用这个模式的 href 时,

'http://www.tumblr.com/like/'+oath+'?id='+id'

和 /unlike/ 用于不喜欢该帖子。

除了访问被拒绝页面之外,我什么也得不到。我不应该至少看到某种身份验证弹出窗口吗?不知道还能在这里做什么。需要让这个 LIKE 功能正常工作,并且使用 Tumblr {like button} 不是一个选项,因为我们没有使用 {posts block} 而是通过 JSON API 提取我们所有的内容。

【问题讨论】:

  • 可以使用API​​注册liketumblr.com/docs/en/api/v2#m-up-like
  • 迈克,看着那个.. 我正在提交,api.tumblr.com/v2/user/like?reblog_key=mThpzZ4l?id=114337695805 甚至尝试过 api.tumblr.com/v2/user /like?reblog_key=mThpzZ4lz&id=114337695805 我仍然得到: {"meta":{"status":401,"msg":"Not Authorized"},"response":[]}.. 任何其他建议都是很有帮助。我必须通过某种形式的 OATH 授权吗?还是不应该像转发一样将未登录的用户推送到“登录”页面?

标签: javascript tumblr tumblr-themes


【解决方案1】:

找到答案了!

所以让我为大家分解一下。我只是要总结一下我在破解 Tumblr API 时发现的所有问题和注意事项。在大多数情况下,您不会在互联网上找到任何这些答案。如果你这样做了,它们很可能只是我对我在论坛上发布的问题的回答。

  1. Tumblr 应用程序由托管的任何页面模板定义 是否由 Tumblr 使用 Tumblr API。应用 必须在 Tumblr 注册: https://www.tumblr.com/oauth/apps

  2. 所有 Tumblr 应用程序在创建时都会获得一组密钥,用于 访问 Tumblr API。 OAuth Consumer Key 又名 API Key Secret Key

  3. Tumblr API 主要分为两种不同类型的 方法。第三个是“Tagged”,用于拉出已标记的帖子 来自博客或用户。

  4. 只需要提交消费者的“博客方法” 钥匙。 “用户方法”需要完整的 OAuth 签名请求 符合 OAuth 1.0a 协议。 “用户喜欢”最多返回 一次 50 条记录。这在 Tumblr API 中没有记录 文档。

目前,Tumblr API 文档指导开发人员使用众多开源 API 客户端之一。但是,所有这些客户端似乎都是服务器端应用程序。对于仅支持 OAuth1 或具有显式授权的 OAuth2 的提供程序(例如 Tumblr),身份验证流程需要使用可能不会在浏览器中公开的密钥进行签名。

HelloJS 通过使用由 oauth_proxy 定义的中间网络服务解决了这个问题。该服务从数据库中查找密钥并执行配置 access_token 所需的握手。在 OAuth1 的情况下,Web 服务还会对后续的 API 请求进行签名。

HelloJS - http://adodson.com/hello.js/ 是唯一可用且免费的客户端 Oauth 库。有许多服务按每个 api 命中收费以充当代理。 HelloJS OAuth 代理位于:https://auth-server.herokuapp.com/

使用以下社交帐户凭据之一登录 OAuth 代理:Google、Windows Live、Facebook 或 Yahoo。 OAuth 代理充当安全的“中间人”,允许安全存储“密钥”,同时仍允许客户端 OAuth 身份验证。

HelloJS 具有特殊的 Tumblr 模块 - http://adodson.com/hello.js/demos/tumblr.html

HelloJS 利用新的 Javascript Promises 异步函数规范 - https://www.promisejs.org/

Javascript Promises 在传递从异步 AJAX 调用接收的对象时有一些独特的规则。 一切都在回调中完成。 jQuery 所说的 Promise 实际上与其他人所说的 Promise 完全不同。 希望这对未来的 Tumblr 集成有所帮助。

约翰

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-07
    • 2018-10-31
    • 2021-10-25
    相关资源
    最近更新 更多