【发布时间】:2012-02-12 06:21:34
【问题描述】:
我在我的 RoR 应用程序中使用了linkedin gem,它在我的本地和 stagign 上运行良好(它与虚拟数据一起仅用于测试)但在生产上我遇到了 Oauth::timestamp denied 错误。我的登台和生产服务器正在使用 +0000 区域设置,我不知道如何解决这个问题。请告诉我如何解决此问题。
【问题讨论】:
标签: ruby-on-rails ruby oauth linkedin
我在我的 RoR 应用程序中使用了linkedin gem,它在我的本地和 stagign 上运行良好(它与虚拟数据一起仅用于测试)但在生产上我遇到了 Oauth::timestamp denied 错误。我的登台和生产服务器正在使用 +0000 区域设置,我不知道如何解决这个问题。请告诉我如何解决此问题。
【问题讨论】:
标签: ruby-on-rails ruby oauth linkedin
请注意,您可以通过向其中一项资源发送 HEAD 请求来了解 LinkedIn 服务器上的当前时间戳。在 python 中,这可能是:
import httplib
conn = httplib.HTTPConnection("api.linkedin.com")
conn.request("HEAD", "/v1/people/~")
resp = conn.getresponse()
print resp.getheaders()
然后您可以使用此日期为您的申请设置后续调用的日期。当您在系统上没有 root 访问权限(或知道如何设置时间/日期)时,这很有帮助
【讨论】:
您在服务器上的日期可能不正确。您可以在 oauth 规范 here 中阅读有关时间戳的信息。必须是within 5 minutes of LinkedIn's server time。
您可以通过键入:
date
并通过使用设置它:
date -s "17 Jan 2012 13:00:00"
【讨论】:
您的链接配置文件时区和您的 rails 应用程序时区配置不同。检查您在个人资料时区中的链接您为个人资料设置的内容,或者可能是位置,并在 config/application.rb 上按位置设置时间。
我刚刚通过设置我的时区解决了这个问题。
【讨论】: