Ruby on rails 我如何授权GoogleAPI客户端使用ENV变量的服务帐户?

Ruby on rails 我如何授权GoogleAPI客户端使用ENV变量的服务帐户?,ruby-on-rails,google-api-ruby-client,Ruby On Rails,Google Api Ruby Client,我正在尝试为我的应用程序授权日历API。我无法获得使用提供的.json文件或使用ENV变量的授权 有人能告诉我怎么做吗?我更喜欢使用ENV变量,但如果这不可能,那么任何有效的方法都将是惊人的 这就是我现在拥有的: client = Google::APIClient.new(:application_name => 'App Name', :application_version => '1.0.0') client_secrets = Google::APIClient

我正在尝试为我的应用程序授权日历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')

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

该应用程序使用secrets.yml文件作为环境变量,因此我不能使用figaro。不过,ENV变量没有问题,我已经设置好了。谷歌API授权是一个问题,因为它似乎不起作用。如果你愿意添加一个屏幕截图,那么这就更清楚了,因为你会知道是哪一行引起了这个异常。显然,
nil
错误通常是由于缺少某些内容造成的。确保一切都准备好了。您可以窥探代码,查看是否所有内容都已设置,或者检查引发异常的行号。若要帮助您调试此问题,请在问题的注释中包含您提到的错误,这将有助于查找问题。