I must be missing something. I appended the code below to the sample quickstart code. It shows the correct number of messages, but both raw and payload return nil.
TIA,
Jeffrey
label_ids = 'UNREAD'
result = service.list_user_messages(user_id, label_ids: 'UNREAD';
puts "#{result.messages.size} messages."
puts result.messages[0].class
puts "Messages:"
result.messages.each {|msg| puts msg.raw.inspect }