Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Send SMS for free through shell using Google Calendar API
Python
Tree: c90e437f46

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
README
gcsms.py
sample.config

README

gcsms allows you to programmatically send SMS to your number for free
through Google Calendar service. You must set up a few things before
using gcsms to send SMS:

1. Setup a Google account if you don't already have one
   - https://gmail.com
2. In Google Calendar (https://calendar.google.com),
   under 'Calendar Settings' -> 'Mobile Setup', enter your mobile number
   and verify it.
3. In API Console (https://code.google.com/apis/console), under
   Services, enable 'Calendar API'.
4. In API Console, under 'API Access', create a new
   'Client ID for installed applications' and note down the 'Client ID'
   and 'Client Secret'.
5. Edit '~/.gcsms' and enter the 'Client ID' and 'Client Secret' and
   save - see sample.config for the format of the config file
6. Run 'python gcsms.py auth' and follow the instructions, granting
   calendar access to gcsms.

Once you've done all the above, you can send an SMS by running:

$ echo 'Hi, I was sent from bash' | python gcsms.py send

Have patience. There might be 5 to 30 seconds delay between when you
run the above command and when you you receive the SMS. If you require a
more timely delivery, please use an SMS gateway service like twilio or
tropo.

gcsms creates a dedicated calendar named 'gcsms' in which it adds an
event for everytime you run the 'send' command. As of now, the events
remain in your calendar unless you manually delete them. If you wish to
delete all the events that gcsms has created, simply delete the
aforementioned calendar. gcsms will recreate the calendar if it needs
to.

From time to time, you might have to run 'python gcsms.py auth' to
reauthenticate with Google. This is a pain but there is no way around
it. Otherwise, enjoy.


Something went wrong with that request. Please try again.