我正在使用 OAuth 对我的应用程序进行身份验证,以使用 OAuth 访问用户的 Facebook 详细信息。最近,我将数据库迁移到使用 PostgreSQL,现在在从 Facebook 返回时无法存储令牌信息。
确切的错误是:
PG::Error: ERROR: invalid input syntax for type timestamp: "1350424800"
: INSERT INTO "authentications" ("created_at", "oauth_expires_at", "oauth_token", "provider", "uid", "updated_at", "user_id") VALUES ($1, $2, $3, $4, $5, $6, $7) RETURNING "id"
奇怪的是,SQLite 并非如此,因此这显然与 Facebook 返回到期日期的格式(“1350424800”)有关。关于我应该如何解析它以使其工作的任何想法?
我目前的创建方式并没有做任何聪明的事情,简单地说:
def self.create_with_omniauth(auth)
create(uid: auth['uid'], provider: auth['provider'], oauth_token: auth['credentials'].token, oauth_expires_at: auth['credentials'].expires_at)
end
非常感谢任何帮助!