如何为具有ENV变量的服务帐户授权Google API客户端?

时间:2017-02-08 21:23:24

标签: ruby-on-rails google-api-ruby-client

我正在尝试为我的应用授权Calendar API。我无法获得使用提供的.json文件或使用ENV变量的授权。

有人可以向我解释如何做到这一点吗?我更喜欢使用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')

1 个答案:

答案 0 :(得分:0)

您可以使用figaro在rails中创建环境变量。查看他们的文档以获取更多配置选项。