2012-04-06 76 views
0

我使用這個寶石https://github.com/unixcharles/google_calendar_api_v2 這是建立在https://github.com/oauth/oauth-ruby爲谷歌日曆API創建的OAuth連接

在客戶端類它創建了一個連接,如下所示:

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 

任何想法是怎麼回事?

回答

0

客戶端ID是您的域名。

應該是這樣的:

client = GoogleCalendarApiV2::Client.new 'teambox.com', 'some_secret_key_for_your_domain', 'oauth_token_for_the_user', 'oauth_secret_for_the_user' 

請記住,這寶石是您好!OAuth1和APIv2,較新的APIv3不會像這樣工作。它使用的是不同的OAuth2。