如何使用Gmail Api获取邮件列表?

我想访问消息列表

宾语:

2.0.0-p481 :008 > g.gmail_api.users.messages.list => #  

我是这个API的新手,无法了解如何使用Gmail API。

谢谢

 # Google gem "omniauth-google-oauth2" gem "google-api-client" 

在我的模型中

 def query_google( email ) self.refresh_token_from_google if self.expires_at.to_i < Time.now.to_i @google_api_client = Google::APIClient.new( application_name: 'Joggle', application_version: '1.0.0' ) @google_api_client.authorization.access_token = self.access_key @gmail = @google_api_client.discovered_api('gmail', "v1") # https://developers.google.com/gmail/api/v1/reference/users/messages/list # Now that we instantiated gmail, we can take the category (messages) and the method # You can also add parameters if you wish to do so: # @calendar_events = google_api_client.execute( # :api_method => @calendar.events.list, # :parameters => { # "calendarId" => current_user.email, # 'timeMin' => date.to_s, # 'timeMax' => max_date.to_s # # 'items' => [{'id' => current_user.email}] # }, # :headers => {'Content-Type' => 'application/json'} # ) @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'} ) count = @emails.data.messages.count Rails.logger.error count {count: count, last_emails: get_three_emails} if count > 0 end 

供参考: https : //github.com/google/google-api-ruby-client/issues/135

不是ruby专家,但看起来像一个方法,你能打电话给()吗? 我想你已经完成了设置身份validation的步骤等等? 应该能够在没有任何参数的情况下调用messages.list()函数(好吧,您可能需要指定userId,您可以使用“我”来获取经过身份validation的用户)。