我有一个Rails应用程序在heroku上运行,我需要在其中创建Box.com! gem for the Box Content API使用项创建回调上的文件夹!
Box API的标准OAuth 2.0(用户身份验证)提供持续一小时的令牌。我一直需要令牌,以便该应用程序可以随时从该应用程序创建box文件夹。
最近,还实现了Box Webhook功能。
我尝试了以下几种方法,但没有帮助:
token_refresh_callback = lambda {|access, refresh, identifier|
Setting.box_access_token = access
Setting.box_refresh_token = refresh
}
@client = Boxr::Client.new(
Setting.box_access_token,
refresh_token: Setting.box_refresh_token,
client_id: Setting.box_client_id,
client_secret: Setting.box_client_secret, &token_refresh_callback
)
unless (Time.now.to_i >= Setting.box_token_expires_in.to_i - 300)
token = Boxr::refresh_tokens(Setting.box_refresh_token, client_id: Setting.box_client_id, client_secret: Setting.box_client_secret)
Setting.box_access_token = token.access_token
Setting.box_refresh_token = token.refresh_token
Setting.box_token_expires_in = Time.now.to_i + token.expires_in.to_i
end
第2步之前可以正常工作,但有时有刷新令牌过期异常。突然无法使用,需要每小时手动重置令牌。不确定,但是它可能在实现Box Webhook功能后开始。
很高兴有建议/解决方案来保持令牌的生命力...