Ruby on rails 连接到谷歌日历';通过Rails的API
我正在创建一个非常简单的Rails应用程序,它有一个特定的用途:向Google日历帐户添加日历事件 我在跟踪调查 我能够运行提供的测试代码(仅限Ruby,没有框架),但我很难从Rails项目访问凭据,我不确定如何正确地(“惯用的”?)操作和组织项目 这个过程的一部分是使用OAuth2.0,因为这个目标需要访问Google用户的私有数据(读和写),所以我按照说明进行操作 现在,关于最佳实践和/或组织代码的正确方式,我有几个不同的问题:Ruby on rails 连接到谷歌日历';通过Rails的API,ruby-on-rails,ruby,google-api,google-calendar-api,ruby-on-rails-5,Ruby On Rails,Ruby,Google Api,Google Calendar Api,Ruby On Rails 5,我正在创建一个非常简单的Rails应用程序,它有一个特定的用途:向Google日历帐户添加日历事件 我在跟踪调查 我能够运行提供的测试代码(仅限Ruby,没有框架),但我很难从Rails项目访问凭据,我不确定如何正确地(“惯用的”?)操作和组织项目 这个过程的一部分是使用OAuth2.0,因为这个目标需要访问Google用户的私有数据(读和写),所以我按照说明进行操作 现在,关于最佳实践和/或组织代码的正确方式,我有几个不同的问题: Google提供了一个client_secret.json,它
要求“#{Rails.root}/client_secret.json”
:
services/
文件夹,将与谷歌日历相关的代码放入其中,但我不确定是否应该将其放入控制器中。我应该如何组织这个我能够理解这一点,并将发布以下每个问题的答案:
config/client_secret.json
。
在Heroku交付生产时,使用ENV VARGoogle::APIClient::ClientSecrets.load(File.join(Rails.root,'config','client\u secret.json'))
(假设文件确实在config/
中)app/services/google_calendar.rb
要求“google/api\u客户端/客户端\u机密”
需要“google/API/calendar\u v3”
谷歌日历
#属性访问器(属性写入器+属性读取器)
属性访问器:身份验证客户端,:身份验证uri,:代码
def初始化
#环境:发展
#Google的API凭据位于~/config/client_secret.json中
client\u secrets=Google::APIClient::ClientSecrets.load(File.join(Rails.root,'config','client\u secret.json'))
@auth\u client=客户机密.to\u授权
#指定权限和回调URL
@auth_client.update(
:scope=>'https://www.googleapis.com/auth/calendar',
:重定向_uri=>'http://localhost:3000/oauth2callback'
)
#建立重定向URL
@auth\u uri=@auth\u client.authorization\u uri.to\u s
结束
结束
app/controllers/application\u controller.rb
class ApplicationController
/Users/jsoifer/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in `require': No such file to load -- /Users/jsoifer/Developer/Tiny-Things/tiny-booking/client_secret.json (LoadError)