2
我正在構建一個Web應用程序,需要使用Oauth2訪問用戶gmail。我註冊了我的應用程序,可以獲取最初的代碼,但無法弄清楚如何獲取訪問令牌並在之後刷新代碼。Rails:Google OAUTH2,正確發送郵件請求
首先,用戶被髮送到一個安全的谷歌頁面,把用戶名/密碼。隨後,谷歌將用戶重定向到這樣的:
127.0.0.1/oauth2callback?code=4/ux5gNj-_mIu4DOD_gNZdjX9E
我有下面這個方法來處理重定向。該代碼與其他信息一起發送回Google,以換取訪問令牌和刷新代碼。不幸的是,底部的反應有空白的身體。我究竟做錯了什麼?我需要調用另一個函數來獲取訪問令牌嗎?
def oauth2callback
require "uri"
require "net/http"
uri = URI.parse("https://accounts.google.com/o/oauth2/token")
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri)
request.set_form_data(
{'code'=>params[:code],
'client_id' => CLIENT_ID,
'client_secret' => CLIENT_SECRET,
'redirect_uri' => '127.0.0.1:3000/oauth2callback',
'grant_type' => 'authorization_code'})
http.use_ssl = true
response = http.request(request)
#response.body() is blank
end