【发布时间】:2013-02-28 08:32:18
【问题描述】:
以下是我想要做的 -
client = Google::APIClient.new
client.authorization.client_id = 'XXXX'
client.authorization.client_secret = 'XXXXX'
client.authorization.scope = 'https://www.googleapis.com/auth/calendar'
client.authorization.redirect_uri = 'http://www.aaaaa.com/'
calendar = client.discovered_api('calendar', 'v3')
为了让 access_token 发出进一步的请求,我打电话给 client.authorization.fetch_access_token!
我得到的回应是:
Signet::AuthorizationError: Authorization failed. Server message:
{
"error" : "invalid_request"
}
from D:/main/tools/jruby/lib/ruby/gems/1.8/gems/signet-0.4.4/lib/signet/oauth_2/client.rb:865:in `fetch_access_token'
后来我做了一些更改并将grant_type设置为密码并提供了用户名和密码。
client.authorization.grant_type = 'password'
client.authorization.username = 'aaaaa'
client.authorization.password = 'aaaaa'
仍然面临同样的问题。
文档没有多大帮助。有没有我遗漏的设置?
【问题讨论】:
-
invalid_request (这意味着有一个 400 在封面下)通常意味着请求格式不正确。假设您的客户已注册,您的代码看起来很正常。还有更多可用的调试输出吗?
标签: oauth-2.0 google-calendar-api google-oauth google-api-client google-api-ruby-client