org-gcal
offers
- Fetch google calendar event
- Post/edit org element
- Sync between Org and Gcal
- 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.
- Go to Google Developers Console
- Create a project (with any name)
- Click on the project
- Click on APIs & Services then Credentials
- Click on Create Credentials and Oauth client ID with Application type Installed application, Installed application type Other
- Click on Create Client ID
- Record the Client ID and Client secret for setup.
- Under the same APIs & Services menu section, select Library
- 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.
- Go to Google setting page and click the gear-shaped settings icon in the upper right, then select “Settings” from the drop down list.
- Select the “Setting for my Calendars” tab on the left, which will display a list of your calendars.
- 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.
- 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.
(require 'org-gcal)
(setq org-gcal-client-id "your-id-foo.apps.googleusercontent.com"
org-gcal-client-secret "your-secret"
org-gcal-file-alist '(("your-mail@gmail.com" . "~/schedule.org")
("another-mail@gmail.com" . "~/task.org")))
Sync between Org and Gcal. before syncing, execute 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.
Post/edit org block at point to Google calendar.
Delete Gcal event at point.
Refresh the OAuth token. OAuth token expired in 3600 seconds, You should refresh token on a regular basis.