Add Google Calendar API sample.
diff --git a/samples/calendar_api/README b/samples/calendar_api/README
new file mode 100644
index 0000000..9376b6b
--- /dev/null
+++ b/samples/calendar_api/README
@@ -0,0 +1,4 @@
+Loop over all a user's calendars, printing their titles.
+
+api: calendar
+keywords: cmdline pagination
diff --git a/samples/calendar_api/calendar_sample.py b/samples/calendar_api/calendar_sample.py
new file mode 100644
index 0000000..2b79143
--- /dev/null
+++ b/samples/calendar_api/calendar_sample.py
@@ -0,0 +1,47 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#
+# Copyright 2014 Google Inc. All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Simple command-line sample for the Calendar API.
+Command-line application that retrieves the list of the user's calendars."""
+
+import sys
+
+from oauth2client import client
+from googleapiclient import sample_tools
+
+def main(argv):
+  # Authenticate and construct service.
+  service, flags = sample_tools.init(
+      argv, 'calendar', 'v3', __doc__, __file__,
+      scope='https://www.googleapis.com/auth/calendar.readonly')
+
+  try:
+    page_token = None
+    while True:
+      calendar_list = service.calendarList().list(pageToken=page_token).execute()
+      for calendar_list_entry in calendar_list['items']:
+        print calendar_list_entry['summary']
+      page_token = calendar_list.get('nextPageToken')
+      if not page_token:
+        break
+
+  except client.AccessTokenRefreshError:
+    print ('The credentials have been revoked or expired, please re-run'
+      'the application to re-authorize.')
+
+if __name__ == '__main__':
+  main(sys.argv)
diff --git a/samples/calendar_api/client_secrets.json b/samples/calendar_api/client_secrets.json
new file mode 100644
index 0000000..da828e9
--- /dev/null
+++ b/samples/calendar_api/client_secrets.json
@@ -0,0 +1,15 @@
+{
+  "installed": {
+    "client_id": "[[INSERT CLIENT ID HERE]]",
+    "client_secret": "[[INSERT CLIENT SECRET HERE]]",
+    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
+    "token_uri": "https://accounts.google.com/o/oauth2/token",
+    "client_email": "",
+    "redirect_uris": [
+      "urn:ietf:wg:oauth:2.0:oob",
+      "oob"
+    ],
+    "client_x509_cert_url": "",
+    "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs"
+  }
+}