我正在使用这个宝石 https://github.com/unixcharles/google_calendar_api_v2它建立在 https://github.com/oauth/oauth-ruby 之上
在客户端类中,它创建一个连接,如下所示:
def initialize(consumer_key, consumer_secret, token, token_secret)
consumer = OAuth::Consumer.new(consumer_key, consumer_secret, {
:site => "https://www.google.com",
:scheme => :header
})
@connection = OAuth::AccessToken.new(consumer,token, token_secret)
@calendars = Calendar.new(@connection)
end
对于consumer_key,我是否应该将 Google API 控制台列出的内容作为"客户端 ID"?对于consumer_secret,我是否将 Google API 控制台列出的内容作为"客户端机密"?我知道令牌是我在 OAuth 身份验证后得到的。我假设我token_secret设置为"?
这就是我正在做的事情,我一直得到:
"GoogleCalendarApiV2::AuthenticationError (GoogleCalendarApiV2::AuthenticationError):"
当我打电话时:
client = GoogleCalendarApiV2::Client.new {'Client ID'}, {'Client secret'}, params[:access_token], ""
calendar = client.calendars.all
知道发生了什么吗?
客户端 ID 是您的域。
应如下所示:
client = GoogleCalendarApiV2::Client.new 'teambox.com', 'some_secret_key_for_your_domain', 'oauth_token_for_the_user', 'oauth_secret_for_the_user'
请记住,此 Gem 适用于 OAuth1 和 APIv2,较新的 APIv3 不会像这样工作。它使用不同的OAuth2。
v3 由新的 Google API Client Library for Ruby 支持:
http://code.google.com/p/google-api-ruby-client/