Access the Gmail RESTful API

An interface to the Gmail RESTful API. Allows access to your Gmail messages, threads, drafts and labels.


Exposing the Gmail API from R.

  • retrieve data from your email
    • drafts: my_drafts = drafts()
    • history: my_history = history(start_num)
    • labels: my_labels = labels()
    • messages: my_messages = messages("search query")
    • threads: my_threads = threads("search query")
  • Create and send emails and drafts: see sending_messages vignette
  • manage email labels programmatically: modify_thread(thread_id, add_labels=c("label_1"), remove_labels=c("label_2"))
  • put things in the gmail trash
    • messages: trash_message(message_id)
    • threads: trash_thread(thread_id)
  • take things out of the gmail trash
    • messages: untrash_message(message_id)
    • threads: untrash_thread(thread_id)
  • delete directly without using the trash
    • messages: delete_message(message_id)
    • threads: delete_thread(thread_id)

By default gmailr will use a global project. However if you are going to be doing a heavy user and will do a lot of queries please setup your own project with the steps below.

  • Register a new project at https://console.cloud.google.com

  • Navigate to APIs

    • Switch the Gmail API status to On, and other API status to Off
  • Navigate to APIs & auth->Consent screen

    • Name your application
    • Select an email address for the application
    • Other fields can be left blank
  • Navigate to APIs & auth->Credentials

    • Create a new client ID
      • Application Type: Installed Application
      • Installed Application Type: Other
    • Download the Client ID JSON - can be renamed!
  • Use the downloaded JSON file as input to gmail_auth()

    ```R
    gmail_auth('file.json')
    ```
    
  • More unit tests and better coverage
  • More (complicated) examples
  • Email statistics
  • Programmatic emailing
  • Returning data frames in addition to native Gmail API objects which are usually a nested list.
  • Support all the formats of users.messages:get

Examples

News

gmailr 0.7.1

  • Bundle a application token and secret in gmailr so the average user won't need to create an application.
  • Great number of bug fixes
  • Reworking the print functions to provide more useful and easy to read output

gmailr 0.5.0

  • Added ability to create and send drafts and messages. (#5, #6)
  • Added a number of tests for mime message creation derived from the Email::Stuffer perl module.
  • Namespace was not properly updated (#2)
  • added extraction functions for gmail_messages (#3)

gmailr 0.0.1

  • Initial release

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("gmailr")

0.7.1 by Jim Hester, a year ago


https://github.com/jimhester/gmailr


Report a bug at https://github.com/jimhester/gmailr/issues


Browse source code at https://github.com/cran/gmailr


Authors: Jim Hester


Documentation:   PDF Manual  


Task views: Web Technologies and Services


MIT + file LICENSE license


Imports httr, base64enc, magrittr, jsonlite, mime, crayon

Suggests testthat, knitr, methods, rmarkdown


Imported by TeXCheckR.

Suggested by devtools.


See at CRAN