ķ傢伙,所以我是用dialybooth API workign和OAauth,所以首先,我不得不直線上升不能存儲在會話的OAuth令牌(導軌)
#first redirect the user to the authorize_url
redirect_to dailybooth.authorize_url
#on user return grab the code from the query string
dailybooth.oauth_token(params[:code])
#make request to the api
pp dailybooth.get('/users.json')
問題是,它會不斷的重定向,因爲它甚至沒有檢查oauth_token是否被設置,所以我做了這個;現在
unless dailybooth.oauth_token(params[:code])
#first redirect the user to the authorize_url
redirect_to dailybooth.authorize_url
#on user return grab the code from the query string
dailybooth.oauth_token(params[:code])
end
#make request to the api
pp dailybooth.get('/users.json')
,這個送我去dailybooth授權頁,授權用戶,然後發送到我的網頁,我獲得了他們的帳戶(與返回的用戶信息的數組)訪問,事情是,如果您刷新的令牌不再存在,並且用戶必須重新授權。
於是,我就什麼是對的oauth_token存儲在會話,
if session[:oauth_code] #If session is set
dailybooth.oauth_token(session[:oauth_code]) #sign in using cookie
else
if params[:code]
@oauth_token_ = params[:code]
session[:oauth_code] = @oauth_token_
else
#first redirect the user to the authorize_url
redirect_to dailybooth.authorize_url
end
end
#make request to the api
@info = dailybooth.get('/users.json')
if @info['error']
if @info['error']['error_code']
if @info['error']['error_code'] == 302 #if getting invalid token, request another token.
session[:oauth_code] = nil
#first redirect the user to the authorize_url
redirect_to dailybooth.authorize_url
end
end
end
我仍然得到同樣的事情,當我第一次去我的網站,我重定向到授權頁面,當局,然後我可以訪問該帳戶,但是當我嘗試返回索引時,它說oauth_token是無效的。任何幫助?