1
GoogleのCalendar APIとRailsアプリケーションの統合に関するトラブルシューティングを行ってきましたが、何が間違っているかわからないようです。私は全面的にグーグルで行きましたが、この特定のエラーの言及は見つかりませんでした。ArgumentError - intervalは有効なオプションではありません - RailsのGoogle Calendar APIエラー
エラーは次のとおりです。
ArgumentError - interval is not a valid option
retriable (3.0.2) lib/retriable/config.rb:32:in `block in initialize'
retriable (3.0.2) lib/retriable/config.rb:31:in `initialize'
retriable (3.0.2) lib/retriable.rb:18:in `retriable'
google-api-client (0.7.1) lib/google/api_client.rb:595:in `execute!'
google-api-client (0.7.1) lib/google/api_client.rb:330:in `discovery_document'
google-api-client (0.7.1) lib/google/api_client.rb:375:in `discovered_api'
app/services/google_calendar_api.rb:41:in `new_api_session'
app/services/google_calendar_api.rb:11:in `create_event'
app/controllers/events_controller.rb:57:in `create'
それは、この行で上げています:
# This is in my google_api.rb
class GoogleCalendarAPI
def initialize(user, params, event)
@user = user
@params = params
@event = event
@client = User.find_by(id: params[:user_id])
end
def create_event
if new_api_session
create_event_object_using_params
send_google_event_create_request
update_google_event_id_on_event
end
end
private
def new_api_session
if @user.access_token?
@client = Google::APIClient.new
@client.authorization.access_token = @user.access_token
@client.authorization.refresh_token = @user.refresh_token
@client.authorization.client_id = ENV['GOOGLE_CLIENT_ID']
@client.authorization.client_secret = ENV['GOOGLE_CLIENT_SECRET']
@client.authorization.grant_type = 'refresh_token'
@client.authorization.refresh!
@service = @client.discovered_api('event', 'v3')
else
return
end
end
# Events crontroller
def create
@event = Event.new(event_params)
if (event_params[:user_id]).blank?
@event.user_id = current_user.id
end
if params[:send_client_email].present?
ClientMailer.event_creation_notification(event_params, @event, params, current_user).deliver_now
end
# If the user authorized their Google Calendar create the event
# in their Google Calendar using the API
if current_user.access_token?
google_api_session = GoogleCalendarAPI.new(current_user, event_params, @event)
google_api_session.create_event
end
respond_to do |format|
if @event.save
format.html { redirect_to events_path , notice: 'Event was successfully created.' }
format.json { render :show, status: :created, location: @event }
else
format.html { render :new }
format.json { render json: @event.errors, status: :unprocessable_entity }
end
end
end
I:これは私がAPIセッションを初期化するために使用しているコードがある
@service = @client.discovered_api('event', 'v3')
以下の宝石を使用しています:
gem 'omniauth-google-oauth2'
gem 'google-api-client', '~0.7.1', require: 'google/api_client'
ユーザーのaccess_tokenとrefresh_tokenとproviderとuidを正常に取得できましたが、何らかの理由でAPIセッションを初期化できませんでした。
その他の情報が必要な場合や、事前にガイダンスやアイデアをお寄せいただきありがとうございます。
エラーがこのコードです。 'retriable(3.0.2)lib/retriable/config.rb:32' – coreyward
ここでエラーが発生しています:https://github.com/kamui/retriable/blob/master/lib/retriable/config .rb#L32 – coreyward
どこかで 'retriable'を設定していますか?イニシャライザのように?これが問題だと思われ、 'interval'を' interval'に変更する必要があります – engineersmnky