2017-02-08 115 views
0

我想爲我的應用授權Calendar API。我無法獲得使用提供的.json文件或使用ENV變量的授權。如何爲具有ENV變量的服務帳戶授權Google API客戶端?

有人可以請向我解釋如何做到這一點?我寧願使用ENV變量,但如果這是不可能的,那麼任何有效的方法將是驚人的!

這是我現在有:

client = Google::APIClient.new(:application_name => 'App Name', :application_version => '1.0.0') 
     client_secrets = Google::APIClient::ClientSecrets.load 
     client.authorization = Signet::OAuth2::Client.new(
     :token_credential_uri => 'https://accounts.google.com/o/oauth2/token', 
     :audience => 'https://accounts.google.com/o/oauth2/token', 
     :scope => 'https://www.googleapis.com/auth/calendar', 
     :issuer => Rails.application.secrets.GOOGLE_CLIENT_EMAIL, 
     :person => Rails.application.secrets.GOOGLE_CALENDAR_EMAIL 
     ) 
     client.authorization.fetch_access_token! 
     service = client.discovered_api('calendar', 'v3') 
+0

你應該在你的問題的評論中包括你提到的錯誤,這將有助於找到問題。 –

回答

0

您可以使用figaro在Rails創建環境變量。查看他們的文檔以獲取更多配置選項。

+0

該應用程序使用ents變量的secrets.yml文件,所以我不能使用figaro。 ENV變量沒有問題,但我已經設置了它們。谷歌API授權是問題,因爲它似乎沒有工作。 – NeyLive

+0

你收到了什麼錯誤? –

+0

沒有將nil隱式轉換爲字符串錯誤 – NeyLive

相關問題