我按照Carin Meier的How I Start帖子的说明进行操作,并且遇到了从Heroku发布到Twitter(如她的例子)的问题。请注意,我的应用程序没有Web组件,只有工作组件。
在我的桌面上进行测试,我可以发布到twitter和gist.github.com。
但是,在Heroku上,我总是Exception in thread "main" java.lang.Exception: Twitter responded to request with error 32: Could not authenticate you.
我我能够发布到gist.github.com,所以它似乎只是推特上的问题。
我使用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回调网址有一些要求。但是,由于我的应用程序没有网络工作者,我不想添加这个(并且在帖子中没有提到)。
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:1)
根据您的描述,如果您可以使用lein在本地运行环境变量发布到Twitter,那么唯一的区别应该是heroku正在使用的环境变量。
也许请与heroku config
核对,或者甚至在heroku日志中的监视中添加更多日志,以查看它所调用的内容。