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"
+ }
+}