Giter VIP home page Giter VIP logo

org-gcal.el's Introduction

Org-Gcal http://melpa.org/packages/org-gcal-badge.svg

org-gcal offers

  • Fetch google calendar event
  • Post/edit org element
  • Sync between Org and Gcal

Data will be UTF-8 encoded for sync.

Requirements

  • tkf/emacs-request
  • jwiegley/alert

    org-gcal is now available in the famous emacs package repo MELPA, so the recommended way is to install it through Emacs package management system.

Installation

  1. Go to Google Developers Console
  2. Create a project (with any name)
  3. Click on the project
  4. Click on APIs & Services then Credentials
  5. Click on Create Credentials and Oauth client ID with Application type Installed application, Installed application type Other
  6. Click on Create Client ID
  7. Record the Client ID and Client secret for setup.
  8. Under the same APIs & Services menu section, select Library
  9. Scroll down to Calendar API. Click the Enable button to enable calendar API access to the app you created in steps 5 & 6.

    Go to Google setting page to check the calendar ID.

  10. Go to Google setting page and click the gear-shaped settings icon in the upper right, then select “Settings” from the drop down list.
  11. Select the “Setting for my Calendars” tab on the left, which will display a list of your calendars.
  12. Select the calendar you would like to synchronize with. This will take you to the “Calendar Settings” page for that calendar. Near the end is a section titled “Integrate Calendar”. Following the XML, ICAL, and HTML tags, you will see your Calendar ID.
  13. Copy the Calendar ID for use in the settings below, where you will use it as the first element in the org-gcal-file-alist for associating calendars with specific org files. You can associate different calendars with different org files, so repeat this for each calendar you want to use.

Setting example

(require 'org-gcal)
(setq org-gcal-client-id "your-id-foo.apps.googleusercontent.com"
      org-gcal-client-secret "your-secret"
      org-gcal-file-alist '(("[email protected]" .  "~/schedule.org")
                            ("[email protected]" .  "~/task.org")))

Multiple accounts

There’s no support for multiple accounts. If you want to use org-gcal with calendars from different accounts, you can give permissions to the account you configured via the calendar’s settings interface.

To get more detailed information you can check this link.

Testing

To execute compile and regression tests, run make.

This will use your existing Emacs installation to generate a value of load-path that allows org-gcal to find all its dependencies, and save it to .load-path.el in this directory. To delete this and other temporary files, run make clean.

Usage

org-gcal-sync

Sync between Org and Gcal. before syncing, execute org-gcal-fetch .

org-gcal-fetch

Fetch Google calendar events and populate org-gcal-file-alist locations. The org files in org-gcal-file-alist should be blank or all of their headlines should have timestamps.

org-gcal-sync-buffer

Sync entries in the current buffer with Google Calendar.

org-gcal-fetch-buffer

Fetch changes to Google calendar events to update entries in the current buffer, but don’t update events on server.

org-gcal-post-at-point

Post/edit org block at point to Google calendar.

org-gcal-delete-at-point

Delete Gcal event at point.

org-gcal-refresh-token

Refresh the OAuth token. OAuth token expired in 3600 seconds, You should refresh token on a regular basis.

Other features

Minimize alerts

Modify org-gcal-notify-p from t to nil

Error

I get “Org-gcal error: Couldn’t parse your-cal.org”

The org file where you sync the calendar must have all entries with timestamps and a particular format to be parsed correctly. When synching for the first time, we recommend is to use a blank file and continue from that.

Similar application

dengste/org-caldav

org-gcal.el's People

Contributors

myuhe avatar telotortium avatar kidd avatar erikmd avatar mattdeboard avatar kenbeese avatar mhayashi1120 avatar ifitzpat avatar nixmaniack avatar t-suwa avatar rollacaster avatar syohex avatar sje30 avatar sachac avatar cbmarc avatar mm-- avatar tarsius avatar itf avatar danlamanna avatar brettwitty avatar andre0991 avatar aaronjensen avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.