if guide && (guide.user.access_token.present? && guide.user.refresh_token.present? && guide.user.gmail.present?) guide.refresh_access_token client = Google::APIClient.new client.authorization.access_token = guide.user.access_token service = client.discovered_api('calendar', 'v3') result = client.execute(:api_method => service.events.get, :parameters => {'calendarId' => 'primary', 'eventId' => "#{self.created_on.to_i}"}) event = result.data event = { 'summary' => "#{self.network.name} - #{self.start_time.in_time_zone('UTC').try(:strftime, '%I:%M %p')}", 'location' => "#{self.meeting_place_description}", 'description' => "#{self.network.name} - #{self.start_time.in_time_zone('UTC').try(:strftime, '%I:%M %p')} \nClient Name: #{self.client.full_name}\n#{self.half_day? ? 'Half Day' : (self.partial? ? 'Partial' : 'Full Day')}\nLocation: #{self.section.river.name} - #{self.section.name}", 'start' => { 'dateTime' => "#{self.assignment_date.strftime('%Y-%m-%dT')}#{self.start_time.in_time_zone('UTC').strftime('%H:%M:00')}#{Time.now.in_time_zone(self.network.time_zone).formatted_offset}" }, 'end' => { 'dateTime' => "#{self.assignment_date.strftime('%Y-%m-%dT')}#{self.end_time.in_time_zone('UTC').strftime('%H:%M:00')}#{Time.now.in_time_zone(self.network.time_zone).formatted_offset}" } } results = client.execute!( :api_method => service.events.update, :parameters => { :calendarId => 'primary', :eventId => "#{self.created_on.to_i}" }, :body_object => event) end