【问题标题】:Not able to get irb console working with tumblr_client gem无法让 irb 控制台与 tumblr_client gem 一起使用
【发布时间】:2016-04-02 17:54:24
【问题描述】:

我在 API 方面的经验很少,我正在尝试改变这一点,因此我尝试开始使用 Tumblr api。我已经安装了 tumblr_client gem (documentation here) 并按照说明进行操作。我已经在一个新的 Tumblr 帐户上创建了一个应用程序,并拥有必要的 OAuth 信息(consumer_key、c​​onsumer_secret 等)。实际上让它做某事被证明是困难的,所以像一个优秀的小程序员一样,我正试图让控制台运行探索一下。

这需要一些设置,所以我按照这里的说明进行操作:

你第一次去使用 irb 控制台,如果你没有 .tumblr 文件,它将引导您完成生成文件的过程。 系统将提示您输入您的 consumer_key 和 consumer_secret(其中 你可以到这里:http://www.tumblr.com/oauth/register) 然后发送 到网站验证您的帐户。验证后,您将 重定向到您的重定向 URL(默认为 localhost)并复制 oauth_verifier 回到控制台。那么你就准备好了!

系统提示我输入我的密钥和秘密,然后我转到我应该授权的 URL。 Tumblr 给了我一个弹出窗口,上面写着“这个应用程序可以访问你的一些数据并在你的帐户上发帖吗?你以 example@example.com 的身份登录”以及取消或允许的选项。我点击了允许,它只会让我进入帐户本身,我从来没有提供任何类型的验证码来让控制台正常工作。

此时我被卡住了,无法继续前进,所以我正在激活网络。关于我哪里出错的任何想法?

【问题讨论】:

    标签: ruby oauth tumblr


    【解决方案1】:

    您是否在 oauth 配置过程中的任何时候指定了重定向或回调 url?这可能是在 tumblr 的 API 网站上完成的。此 url 将是您的应用程序的端点,Tumblr 将请求与用户数据一起发送到该端点。顺便说一句,oauth 有时可能会混淆设置。例如,您将无法使用localhost 作为回调 url,尽管您可以通过免费的本地隧道应用程序获得一个临时域名。

    编辑要更详细地介绍其中一些要点...

    • 回调 url:重申一下,这不能是 localhost。设置正确的回调 url 将使您摆脱当前的困境。您希望确认页面重定向到您的应用,而不是重定向到 tumblr 主页。无论如何,我认为在部署之前想要对其进行测试是完全明智的。但除非您部署或使用本地隧道,否则您的本地应用程序实际上并没有可以从除您的计算机之外的任何地方访问的 URL。
    • 本地隧道服务ngroklocaltunnel。举一个 ngrok 的例子:假设你有一个 Rails 服务器在端口 3000 上运行。然后在另一个终端中运行ngrok 3000,你会得到一个 url,它将你的本地服务器暴露给真正的互联网。请注意,每次重新启动 ngrok 时都会更改(除非您向他们付款)。在您的应用程序中,您应该为回调创建一个唯一的路由。假设您有一条将/oauth_callback 匹配到oauth_callback 控制器操作的路由。那么您作为回调 url 提供的路由将是 http://MY_CUSTOM_NAME.ngrok.com/oauth_callback
    • 控制器操作:我不具体知道 Tumblr 是如何将用户数据发送到回调的。信息可能在标题中,也可能在正文中。它可能是 JSON 或 XML。无论是什么,您都可以通过在控制器操作中放置断点来探索数据。您可以检查paramsheaders 等。我希望他们会给您一些令牌凭据,并且可能还会给您一个用户名/电子邮件。

    【讨论】:

    • 我理解您所说的一些内容,主要是关于 OAuth 令人困惑的部分:)。 Tumblr 要求我设置为 localhost 的“应用程序网站”和设置为正斜杠的“默认回调 URL”,但不知道还能做什么。似乎 Tumblr 期望您已经部署并运行了一个应用程序,然后您才能使用他们的 API 做任何事情,这让我觉得很困难。我从来没有听说过本地隧道应用程序,您能否详细说明一下,也许可以为我指明一个好的方向(或好的教程?)哦,谢谢,非常感谢您的帮助。
    • @JonathonNordquist 查看更新后的答案,如果您有任何其他问题,请告诉我。
    • Max,附加信息非常有用。如果我像女学生一样滔滔不绝,你会原谅我的,但天哪!这是。所以。凉爽的!我不知道这样的服务甚至存在,更不用说如何使用它们了。这对我来说是一个很棒的工具,你不仅帮助解决了我的问题,还让我成为了一个更好的开发人员。如果你在中西部,请给我打个电话,我请你喝啤酒。
    猜你喜欢
    • 2017-01-22
    • 1970-01-01
    • 1970-01-01
    • 2011-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多