Ruby google plus登录时出现授权错误

Ruby google plus登录时出现授权错误,ruby,oauth-2.0,sinatra,google-plus,Ruby,Oauth 2.0,Sinatra,Google Plus,我正在使用google plus将“使用google登录”添加到一个小型sinatra应用程序中。我能够成功地在客户端请求授权代码,但将代码交换为令牌的请求失败。我用示例repo中的代码替换了应用程序的所有代码,但收到了相同的错误 # received the authorization code # exchange it for a token $authorization.fetch_access_token! 错误 Signet::AuthorizationError - Autho

我正在使用google plus将“使用google登录”添加到一个小型sinatra应用程序中。我能够成功地在客户端请求授权代码,但将代码交换为令牌的请求失败。我用示例repo中的代码替换了应用程序的所有代码,但收到了相同的错误

# received the authorization code
# exchange it for a token 
$authorization.fetch_access_token!
错误

Signet::AuthorizationError - Authorization failed.  Server message:
{
  "error" : "invalid_request",
  "error_description" : "Required parameter is missing: grant_type"
}

我知道内部出现了问题,但我不确定如何检查请求以确定问题所在。

在从google获取令牌之前,您是否尝试将授权类型设置为刷新令牌

我在rails应用程序中使用了同一个客户端,并将grant_类型填充到signet auth对象中

client.authorization.grant_type = 'refresh_token'
client.authorization.fetch_access_token!

=> {"access_token"=>"foo", "token_type"=>"Bearer", "expires_in"=>3600, "id_token"=>"foo"}

谢谢你的回答。我会接受这一点,并报告回来,当我有机会看看这个项目。