我正在使用gmail
宝石,但是将从2018年8月19日起弃用。
因此,我试图更改Google官方的宝石。
我想用这样的特定标签获取所有未读邮件。
gmail = Gmail.connect('example@gmail.com', 'password')
gmail.label('mylabel').find(:unread).each do |message|
# to something
end
根据此文档,我可以从我的帐户中获取标签。 https://developers.google.com/gmail/api/quickstart/ruby
# Initialize the API
service = Google::Apis::GmailV1::GmailService.new
service.client_options.application_name = APPLICATION_NAME
service.authorization = authorize
# Show the user's labels
user_id = 'me'
result = service.list_user_labels(user_id)
puts 'Labels:'
puts 'No labels found' if result.labels.empty?
result.labels.each { |label| puts "- #{label.name}" }
但是仅通过阅读rubydoc
中的文档,我无法确定如何通过Gmail API获取邮件。
https://www.rubydoc.info/github/google/google-api-ruby-client/Google/Apis/GmailV1
如何实现该功能? 在哪里可以找到该库的示例?
答案 0 :(得分:0)
答案是found in the GmailService
class:
#list_user_messages (user_id,include_spam_trash:无, label_ids:无,max_results:无,page_token:无,q:无,字段:无,quota_user:无, user_ip:无,选项:无)
参数:
- user_id
- label_ids ( Array
,String )—仅返回标签与所有指定标签ID匹配的邮件。- ...
因此,要获取带有特定标签的邮件,请致电list_user_messages
,使用单个标签ID或标签ID数组:
service.list_user_messages(user_id, label_ids: "LID")
service.list_user_messages(user_id, label_ids: ["LID1", "LID2", "LID3"])