Twitter 回复:"error 32: Could not authenticate you" 来自 Heroku,但不是桌面版
twitter response: "error 32: Could not authenticate you" from Heroku, but not desktop
我正在按照 Carin Meier How I Start post 的说明进行操作,但在从 Heroku post 到 Twitter(就像她的例子)时遇到了问题。请注意,我的应用程序没有 Web 组件,只有一个工作组件。
在我的桌面上进行测试,我可以 post 到 Twitter 和 gist.github.com。
但是,在 Heroku 上,我总是 Exception in thread "main" java.lang.Exception: Twitter responded to request with error 32: Could not authenticate you.
我 是 能够 post 到 gist.github.com,所以它看起来是一个仅限 Twitter 问题。
我已经使用 heroku run lein repl
来确认我的信誉看起来还不错:
(reset! my-twitter-creds (tw-oauth/make-oauth-creds
(env :app-consumer-key)
(env :app-consumer-secret)
(env :user-access-token)
(env :user-access-secret)))
但呼叫:
(tw/statuses-user-timeline :oauth-creds @my-twitter-creds
:params {:count 1 :screen-name "myname"})
总是报错32。
我为此创建的所有代码都可以在这里浏览:https://github.com/rogerallen/tweegeemee/blob/master/src/tweegeemee/core.clj
我目前怀疑 Heroku 对 Twitter Oauth 回调有一些要求 URL。但是,由于我的应用程序没有网络工作者,我不想添加这个(post 中没有提到)。
谁能帮我解决这个问题?
根据您的描述,如果您可以 post 在本地使用环境变量使用 lein 运行 进行 Twitter - 那么唯一的区别应该是 heroku 使用的环境变量。
也许可以检查 heroku config
或者甚至在 heroku 日志中添加更多的 watch 日志,看看它用什么调用它。
我正在按照 Carin Meier How I Start post 的说明进行操作,但在从 Heroku post 到 Twitter(就像她的例子)时遇到了问题。请注意,我的应用程序没有 Web 组件,只有一个工作组件。
在我的桌面上进行测试,我可以 post 到 Twitter 和 gist.github.com。
但是,在 Heroku 上,我总是 Exception in thread "main" java.lang.Exception: Twitter responded to request with error 32: Could not authenticate you.
我 是 能够 post 到 gist.github.com,所以它看起来是一个仅限 Twitter 问题。
我已经使用 heroku run lein repl
来确认我的信誉看起来还不错:
(reset! my-twitter-creds (tw-oauth/make-oauth-creds
(env :app-consumer-key)
(env :app-consumer-secret)
(env :user-access-token)
(env :user-access-secret)))
但呼叫:
(tw/statuses-user-timeline :oauth-creds @my-twitter-creds
:params {:count 1 :screen-name "myname"})
总是报错32。
我为此创建的所有代码都可以在这里浏览:https://github.com/rogerallen/tweegeemee/blob/master/src/tweegeemee/core.clj
我目前怀疑 Heroku 对 Twitter Oauth 回调有一些要求 URL。但是,由于我的应用程序没有网络工作者,我不想添加这个(post 中没有提到)。
谁能帮我解决这个问题?
根据您的描述,如果您可以 post 在本地使用环境变量使用 lein 运行 进行 Twitter - 那么唯一的区别应该是 heroku 使用的环境变量。
也许可以检查 heroku config
或者甚至在 heroku 日志中添加更多的 watch 日志,看看它用什么调用它。