使用Ruby中的Gmail API按发件人/日期检索gmail邮件正文数组

时间:2017-02-26 17:23:36

标签: ruby-on-rails gmail-api

初级开发人员在这里提出了一个gmail api问题。我的rails应用程序需要搜索和检索大约300个gmail消息,然后使用nokogiri将其机构抓取。我已经安装了google-api-client gem,并成功配置了此人guide之后的授权。使用他们的示例,我可以使用以下代码成功检索用户的标签列表:

client = Signet::OAuth2::Client.new(access_token: session[:access_token])
client.expires_in = Time.now + 1_000_000
service = Google::Apis::GmailV1::GmailService.new
service.authorization = client
@labels_list = service.list_user_labels('me')

我尝试搜索google的ruby api文档,了解如何进行我想要的搜索,但他们的文档非常稀疏。我似乎需要至少运行两个单独的查询 - 第一个查询符合搜索的发件人和日期参数的邮件列表,然后再检查邮件正文。虽然这样做的语法不在于此。我已经使用了#list_user_messages#get_user_message的gmail ruby​​ api实例方法,并且没有运气让他们工作。有这方面经验的人吗?

1 个答案:

答案 0 :(得分:1)

您可能需要查看Google API Client上有关Ruby的文档。 这将解释使用Ruby的Google API的基本功能和实现。

for querying sender试试这个:

Maven > Update project

对于日期,您只能使用以下操作进行过滤:@emails = @google_api_client.execute( api_method: @gmail.users.messages.list, parameters: { userId: "me", # searching messages based on number of queries: # https://developers.google.com/gmail/api/guides/filtering q: "from:" + email.to_s }, headers: {'Content-Type' => 'application/json'} ) after:before:older:。您可能需要查看可以与Gmail一起使用的supported operators列表。

希望这有帮助。