Clean up samples and remove Buzz references.
diff --git a/samples/appengine/app.yaml b/samples/appengine/app.yaml
index 03bdf81..bdc4be1 100644
--- a/samples/appengine/app.yaml
+++ b/samples/appengine/app.yaml
@@ -1,15 +1,11 @@
-application: m-buzz
-version: 1
+application: jcg-testing-01
+version: 2
 runtime: python
 api_version: 1
 
 handlers:
-- url: /static
-  static_dir: static
-
-- url: /google8f1adb368b7bd14c.html
-  upload: google8f1adb368b7bd14c.html
-  static_files: static/google8f1adb368b7bd14c.html
+- url: /oauth2callback
+  script: oauth2client/appengine.py
 
 - url: .*
   script: main.py
diff --git a/samples/appengine_with_decorator2/client_secrets.json b/samples/appengine/client_secrets.json
similarity index 100%
rename from samples/appengine_with_decorator2/client_secrets.json
rename to samples/appengine/client_secrets.json
diff --git a/samples/appengine_with_decorator2/grant.html b/samples/appengine/grant.html
similarity index 83%
rename from samples/appengine_with_decorator2/grant.html
rename to samples/appengine/grant.html
index a52ea08..0087325 100644
--- a/samples/appengine_with_decorator2/grant.html
+++ b/samples/appengine/grant.html
@@ -4,7 +4,7 @@
   </head>
   <body>
     {% if has_credentials %}
-    <p>Thanks for granting us permission. Please <a href="/followers">proceed to the main
+    <p>Thanks for granting us permission. Please <a href="/about">proceed to the main
       application</a>.</p>
     {% else %}
     <p><a href="{{ url }}">Grant</a> this application permission to read your
diff --git a/samples/appengine/main.py b/samples/appengine/main.py
old mode 100755
new mode 100644
index 184f5fa..309376c
--- a/samples/appengine/main.py
+++ b/samples/appengine/main.py
@@ -14,6 +14,13 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+"""Starting template for Google App Engine applications.
+
+Use this project as a starting point if you are just beginning to build a Google
+App Engine project. Remember to download the OAuth 2.0 client secrets which can
+be obtained from the Developer Console <https://code.google.com/apis/console/>
+and save them as 'client_secrets.json' in the project directory.
+"""
 
 __author__ = 'jcgregorio@google.com (Joe Gregorio)'
 
@@ -24,84 +31,79 @@
 import pickle
 
 from apiclient.discovery import build
-from oauth2client.appengine import CredentialsProperty
-from oauth2client.appengine import StorageByKeyName
-from oauth2client.client import OAuth2WebServerFlow
+from oauth2client.appengine import oauth2decorator_from_clientsecrets
+from oauth2client.client import AccessTokenRefreshError
 from google.appengine.api import memcache
-from google.appengine.api import users
-from google.appengine.ext import db
 from google.appengine.ext import webapp
 from google.appengine.ext.webapp import template
-from google.appengine.ext.webapp import util
-from google.appengine.ext.webapp.util import login_required
+from google.appengine.ext.webapp.util import run_wsgi_app
 
 
-FLOW = OAuth2WebServerFlow(
-    # Visit https://code.google.com/apis/console to
-    # generate your client_id, client_secret and to
-    # register your redirect_uri.
-    client_id='<YOUR CLIENT ID HERE>',
-    client_secret='<YOUR CLIENT SECRET HERE>',
-    scope='https://www.googleapis.com/auth/buzz',
-    user_agent='buzz-cmdline-sample/1.0')
+# CLIENT_SECRETS, name of a file containing the OAuth 2.0 information for this
+# application, including client_id and client_secret, which are found
+# on the API Access tab on the Google APIs
+# Console <http://code.google.com/apis/console>
+CLIENT_SECRETS = os.path.join(os.path.dirname(__file__), 'client_secrets.json')
+
+# Helpful message to display in the browser if the CLIENT_SECRETS file
+# is missing.
+MISSING_CLIENT_SECRETS_MESSAGE = """
+<h1>Warning: Please configure OAuth 2.0</h1>
+<p>
+To make this sample run you will need to populate the client_secrets.json file
+found at:
+</p>
+<p>
+<code>%s</code>.
+</p>
+<p>with information found on the <a
+href="https://code.google.com/apis/console">APIs Console</a>.
+</p>
+""" % CLIENT_SECRETS
 
 
-class Credentials(db.Model):
-  credentials = CredentialsProperty()
-
+http = httplib2.Http(memcache)
+service = build("plus", "v1", http=http)
+decorator = oauth2decorator_from_clientsecrets(
+    CLIENT_SECRETS,
+    'https://www.googleapis.com/auth/plus.me',
+    MISSING_CLIENT_SECRETS_MESSAGE)
 
 class MainHandler(webapp.RequestHandler):
 
-  @login_required
+  @decorator.oauth_aware
   def get(self):
-    user = users.get_current_user()
-    credentials = StorageByKeyName(
-        Credentials, user.user_id(), 'credentials').get()
+    path = os.path.join(os.path.dirname(__file__), 'grant.html')
+    variables = {
+        'url': decorator.authorize_url(),
+        'has_credentials': decorator.has_credentials()
+        }
+    self.response.out.write(template.render(path, variables))
 
-    if credentials is None or credentials.invalid == True:
-      callback = self.request.relative_url('/oauth2callback')
-      authorize_url = FLOW.step1_get_authorize_url(callback)
-      memcache.set(user.user_id(), pickle.dumps(FLOW))
-      self.redirect(authorize_url)
-    else:
-      http = httplib2.Http()
-      http = credentials.authorize(http)
-      service = build("buzz", "v1", http=http)
-      activities = service.activities()
-      activitylist = activities.list(scope='@consumption',
-                                     userId='@me').execute()
+
+class AboutHandler(webapp.RequestHandler):
+
+  @decorator.oauth_required
+  def get(self):
+    try:
+      http = decorator.http()
+      user = service.people().get(userId='me').execute(http)
+      text = 'Hello, %s!' % user['displayName']
+
       path = os.path.join(os.path.dirname(__file__), 'welcome.html')
-      logout = users.create_logout_url('/')
-      self.response.out.write(
-          template.render(
-              path, {'activitylist': activitylist,
-                     'logout': logout
-                     }))
-
-
-class OAuthHandler(webapp.RequestHandler):
-
-  @login_required
-  def get(self):
-    user = users.get_current_user()
-    flow = pickle.loads(memcache.get(user.user_id()))
-    if flow:
-      credentials = flow.step2_exchange(self.request.params)
-      StorageByKeyName(
-          Credentials, user.user_id(), 'credentials').put(credentials)
-      self.redirect("/")
-    else:
-      pass
+      self.response.out.write(template.render(path, {'text': text }))
+    except AccessTokenRefreshError:
+      self.redirect('/')
 
 
 def main():
   application = webapp.WSGIApplication(
       [
-      ('/', MainHandler),
-      ('/oauth2callback', OAuthHandler)
+       ('/', MainHandler),
+       ('/about', AboutHandler),
       ],
       debug=True)
-  util.run_wsgi_app(application)
+  run_wsgi_app(application)
 
 
 if __name__ == '__main__':
diff --git a/samples/appengine/simplejson b/samples/appengine/simplejson
deleted file mode 120000
index 148c7cf..0000000
--- a/samples/appengine/simplejson
+++ /dev/null
@@ -1 +0,0 @@
-../../simplejson/
\ No newline at end of file
diff --git a/samples/appengine/static/go.png b/samples/appengine/static/go.png
deleted file mode 100644
index e5aacda..0000000
--- a/samples/appengine/static/go.png
+++ /dev/null
Binary files differ
diff --git a/samples/appengine/welcome.html b/samples/appengine/welcome.html
index da40a16..57b186e 100644
--- a/samples/appengine/welcome.html
+++ b/samples/appengine/welcome.html
@@ -1,29 +1,8 @@
 <html>
   <head>
-    <title>Buzz Stuff</title>
-    <style type=text/css>
-      td  { vertical-align: top; padding: 0.5em }
-      img { border:0 }
-    </style>
+    <title>Welcome</title>
   </head>
   <body>
-    <p><a href="{{ logout }}">Logout</a></p>
-      <table border=0>
-      {% for item in activitylist.items %}
-      <tr valign=top>
-        <td>
-          <a href="{{ item.actor.profileUrl }}"><img
-            src="{{ item.actor.thumbnailUrl }}"></a><br>
-          <a href="{{ item.actor.profileUrl }}">{{ item.actor.name }}</a></td>
-      <td>
-        {{ item.object.content }}
-        </td>
-        <td>
-          <a href="{{ item.object.links.alternate.0.href }}"><img
-            src="/static/go.png"></a>
-        </td>
-      </tr>
-      {% endfor %}
-      </table>
+    <p>{{ text }}</p>
   </body>
 </html>
diff --git a/samples/appengine_with_decorator/apiclient b/samples/appengine_with_decorator/apiclient
deleted file mode 120000
index 24fe0bc..0000000
--- a/samples/appengine_with_decorator/apiclient
+++ /dev/null
@@ -1 +0,0 @@
-../appengine/apiclient
\ No newline at end of file
diff --git a/samples/appengine_with_decorator/app.yaml b/samples/appengine_with_decorator/app.yaml
deleted file mode 100644
index c0d43d5..0000000
--- a/samples/appengine_with_decorator/app.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
-application: jcg-testing-01
-version: 1
-runtime: python
-api_version: 1
-
-handlers:
-- url: /oauth2callback
-  script: oauth2client/appengine.py
-
-- url: .*
-  script: main.py
-
diff --git a/samples/appengine_with_decorator/better.py b/samples/appengine_with_decorator/better.py
deleted file mode 100644
index 03963f4..0000000
--- a/samples/appengine_with_decorator/better.py
+++ /dev/null
@@ -1,92 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2007 Google Inc.
-#
-# 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.
-#
-"""Starting template for Google App Engine applications.
-
-Use this project as a starting point if you are just beginning to build a Google
-App Engine project. Remember to fill in the OAuth 2.0 client_id and
-client_secret which can be obtained from the Developer Console
-<https://code.google.com/apis/console/>
-"""
-
-__author__ = 'jcgregorio@google.com (Joe Gregorio)'
-
-
-import httplib2
-import logging
-import os
-import pickle
-
-from apiclient.discovery import build
-from oauth2client.appengine import OAuth2Decorator
-from oauth2client.client import AccessTokenRefreshError
-from google.appengine.api import memcache
-from google.appengine.ext import webapp
-from google.appengine.ext.webapp import template
-from google.appengine.ext.webapp.util import run_wsgi_app
-
-# The client_id and client_secret are copied from the API Access tab on
-# the Google APIs Console <http://code.google.com/apis/console>
-decorator = OAuth2Decorator(
-    client_id='837647042410-75ifgipj95q4agpm0cs452mg7i2pn17c.apps.googleusercontent.com',
-    client_secret='QhxYsjM__u4vy5N0DXUFRwwI',
-    scope='https://www.googleapis.com/auth/buzz',
-    user_agent='my-sample-app/1.0')
-
-http = httplib2.Http(memcache)
-service = build("buzz", "v1", http=http)
-
-
-class MainHandler(webapp.RequestHandler):
-
-  @decorator.oauth_aware
-  def get(self):
-    path = os.path.join(os.path.dirname(__file__), 'grant.html')
-    variables = {
-        'url': decorator.authorize_url(),
-        'has_credentials': decorator.has_credentials()
-        }
-    self.response.out.write(template.render(path, variables))
-
-
-class FollowerHandler(webapp.RequestHandler):
-
-  @decorator.oauth_required
-  def get(self):
-    try:
-      http = decorator.http()
-      followers = service.people().list(
-          userId='@me', groupId='@followers').execute(http)
-      text = 'Hello, you have %s followers!' % followers['totalResults']
-
-      path = os.path.join(os.path.dirname(__file__), 'welcome.html')
-      self.response.out.write(template.render(path, {'text': text }))
-    except AccessTokenRefreshError:
-      self.redirect('/')
-
-
-def main():
-  application = webapp.WSGIApplication(
-      [
-       ('/', MainHandler),
-       ('/followers', FollowerHandler),
-      ],
-      debug=True)
-  run_wsgi_app(application)
-
-
-if __name__ == '__main__':
-  main()
diff --git a/samples/appengine_with_decorator/gflags.py b/samples/appengine_with_decorator/gflags.py
deleted file mode 120000
index 5a2ff94..0000000
--- a/samples/appengine_with_decorator/gflags.py
+++ /dev/null
@@ -1 +0,0 @@
-../../gflags.py
\ No newline at end of file
diff --git a/samples/appengine_with_decorator/gflags_validators.py b/samples/appengine_with_decorator/gflags_validators.py
deleted file mode 120000
index 25d8ce8..0000000
--- a/samples/appengine_with_decorator/gflags_validators.py
+++ /dev/null
@@ -1 +0,0 @@
-../../gflags_validators.py
\ No newline at end of file
diff --git a/samples/appengine_with_decorator/httplib2 b/samples/appengine_with_decorator/httplib2
deleted file mode 120000
index 4cd2774..0000000
--- a/samples/appengine_with_decorator/httplib2
+++ /dev/null
@@ -1 +0,0 @@
-../appengine/httplib2
\ No newline at end of file
diff --git a/samples/appengine_with_decorator/index.yaml b/samples/appengine_with_decorator/index.yaml
deleted file mode 100644
index a3b9e05..0000000
--- a/samples/appengine_with_decorator/index.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
-indexes:
-
-# AUTOGENERATED
-
-# This index.yaml is automatically updated whenever the dev_appserver
-# detects that a new type of query is run.  If you want to manage the
-# index.yaml file manually, remove the above marker line (the line
-# saying "# AUTOGENERATED").  If you want to manage some indexes
-# manually, move them above the marker line.  The index.yaml file is
-# automatically uploaded to the admin console when you next deploy
-# your application using appcfg.py.
diff --git a/samples/appengine_with_decorator/main.py b/samples/appengine_with_decorator/main.py
deleted file mode 100755
index ca08d29..0000000
--- a/samples/appengine_with_decorator/main.py
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2007 Google Inc.
-#
-# 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.
-#
-"""Starting template for Google App Engine applications.
-
-Use this project as a starting point if you are just beginning to build a Google
-App Engine project. Remember to fill in the OAuth 2.0 client_id and
-client_secret which can be obtained from the Developer Console
-<https://code.google.com/apis/console/>
-"""
-
-__author__ = 'jcgregorio@google.com (Joe Gregorio)'
-
-
-import httplib2
-import logging
-import os
-import pickle
-
-from apiclient.discovery import build
-from oauth2client.appengine import OAuth2Decorator
-from google.appengine.api import memcache
-from google.appengine.ext import webapp
-from google.appengine.ext.webapp.util import run_wsgi_app
-
-# The client_id and client_secret are copied from the API Access tab on
-# the Google APIs Console <http://code.google.com/apis/console>
-decorator = OAuth2Decorator(
-    client_id='837647042410-75ifgipj95q4agpm0cs452mg7i2pn17c.apps.googleusercontent.com',
-    client_secret='QhxYsjM__u4vy5N0DXUFRwwI',
-    scope='https://www.googleapis.com/auth/buzz',
-    user_agent='my-sample-app/1.0')
-
-http = httplib2.Http(memcache)
-service = build("buzz", "v1", http=http)
-
-class MainHandler(webapp.RequestHandler):
-
-  @decorator.oauth_required
-  def get(self):
-    http = decorator.http()
-    followers = service.people().list(
-        userId='@me', groupId='@followers').execute(http)
-    self.response.out.write(
-        'Hello, you have %s followers!' % followers['totalResults'])
-
-def main():
-  application = webapp.WSGIApplication(
-      [
-       ('/', MainHandler),
-      ],
-      debug=True)
-  run_wsgi_app(application)
-
-
-if __name__ == '__main__':
-  main()
diff --git a/samples/appengine_with_decorator/oauth2 b/samples/appengine_with_decorator/oauth2
deleted file mode 120000
index ee61c25..0000000
--- a/samples/appengine_with_decorator/oauth2
+++ /dev/null
@@ -1 +0,0 @@
-../appengine/oauth2
\ No newline at end of file
diff --git a/samples/appengine_with_decorator/oauth2client b/samples/appengine_with_decorator/oauth2client
deleted file mode 120000
index 9013119..0000000
--- a/samples/appengine_with_decorator/oauth2client
+++ /dev/null
@@ -1 +0,0 @@
-../../oauth2client/
\ No newline at end of file
diff --git a/samples/appengine_with_decorator/uritemplate b/samples/appengine_with_decorator/uritemplate
deleted file mode 120000
index 1c98e41..0000000
--- a/samples/appengine_with_decorator/uritemplate
+++ /dev/null
@@ -1 +0,0 @@
-../appengine/uritemplate
\ No newline at end of file
diff --git a/samples/appengine_with_decorator2/apiclient b/samples/appengine_with_decorator2/apiclient
deleted file mode 120000
index 24fe0bc..0000000
--- a/samples/appengine_with_decorator2/apiclient
+++ /dev/null
@@ -1 +0,0 @@
-../appengine/apiclient
\ No newline at end of file
diff --git a/samples/appengine_with_decorator2/app.yaml b/samples/appengine_with_decorator2/app.yaml
deleted file mode 100644
index bdc4be1..0000000
--- a/samples/appengine_with_decorator2/app.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
-application: jcg-testing-01
-version: 2
-runtime: python
-api_version: 1
-
-handlers:
-- url: /oauth2callback
-  script: oauth2client/appengine.py
-
-- url: .*
-  script: main.py
-
diff --git a/samples/appengine_with_decorator2/gflags.py b/samples/appengine_with_decorator2/gflags.py
deleted file mode 120000
index 5a2ff94..0000000
--- a/samples/appengine_with_decorator2/gflags.py
+++ /dev/null
@@ -1 +0,0 @@
-../../gflags.py
\ No newline at end of file
diff --git a/samples/appengine_with_decorator2/gflags_validators.py b/samples/appengine_with_decorator2/gflags_validators.py
deleted file mode 120000
index 25d8ce8..0000000
--- a/samples/appengine_with_decorator2/gflags_validators.py
+++ /dev/null
@@ -1 +0,0 @@
-../../gflags_validators.py
\ No newline at end of file
diff --git a/samples/appengine_with_decorator2/httplib2 b/samples/appengine_with_decorator2/httplib2
deleted file mode 120000
index 4cd2774..0000000
--- a/samples/appengine_with_decorator2/httplib2
+++ /dev/null
@@ -1 +0,0 @@
-../appengine/httplib2
\ No newline at end of file
diff --git a/samples/appengine_with_decorator2/index.yaml b/samples/appengine_with_decorator2/index.yaml
deleted file mode 100644
index a3b9e05..0000000
--- a/samples/appengine_with_decorator2/index.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
-indexes:
-
-# AUTOGENERATED
-
-# This index.yaml is automatically updated whenever the dev_appserver
-# detects that a new type of query is run.  If you want to manage the
-# index.yaml file manually, remove the above marker line (the line
-# saying "# AUTOGENERATED").  If you want to manage some indexes
-# manually, move them above the marker line.  The index.yaml file is
-# automatically uploaded to the admin console when you next deploy
-# your application using appcfg.py.
diff --git a/samples/appengine_with_decorator2/main.py b/samples/appengine_with_decorator2/main.py
deleted file mode 100644
index 443ff64..0000000
--- a/samples/appengine_with_decorator2/main.py
+++ /dev/null
@@ -1,111 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2007 Google Inc.
-#
-# 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.
-#
-"""Starting template for Google App Engine applications.
-
-Use this project as a starting point if you are just beginning to build a Google
-App Engine project. Remember to download the OAuth 2.0 client secrets which can
-be obtained from the Developer Console <https://code.google.com/apis/console/>
-and save them as 'client_secrets.json' in the project directory.
-"""
-
-__author__ = 'jcgregorio@google.com (Joe Gregorio)'
-
-
-import httplib2
-import logging
-import os
-import pickle
-
-from apiclient.discovery import build
-from oauth2client.appengine import oauth2decorator_from_clientsecrets
-from oauth2client.client import AccessTokenRefreshError
-from google.appengine.api import memcache
-from google.appengine.ext import webapp
-from google.appengine.ext.webapp import template
-from google.appengine.ext.webapp.util import run_wsgi_app
-
-
-# CLIENT_SECRETS, name of a file containing the OAuth 2.0 information for this
-# application, including client_id and client_secret, which are found
-# on the API Access tab on the Google APIs
-# Console <http://code.google.com/apis/console>
-CLIENT_SECRETS = os.path.join(os.path.dirname(__file__), 'client_secrets.json')
-
-# Helpful message to display in the browser if the CLIENT_SECRETS file
-# is missing.
-MISSING_CLIENT_SECRETS_MESSAGE = """
-<h1>Warning: Please configure OAuth 2.0</h1>
-<p>
-To make this sample run you will need to populate the client_secrets.json file
-found at:
-</p>
-<p>
-<code>%s</code>.
-</p>
-<p>with information found on the <a
-href="https://code.google.com/apis/console">APIs Console</a>.
-</p>
-""" % CLIENT_SECRETS
-
-
-http = httplib2.Http(memcache)
-service = build("buzz", "v1", http=http)
-decorator = oauth2decorator_from_clientsecrets(
-    CLIENT_SECRETS,
-    'https://www.googleapis.com/auth/buzz',
-    MISSING_CLIENT_SECRETS_MESSAGE)
-
-class MainHandler(webapp.RequestHandler):
-
-  @decorator.oauth_aware
-  def get(self):
-    path = os.path.join(os.path.dirname(__file__), 'grant.html')
-    variables = {
-        'url': decorator.authorize_url(),
-        'has_credentials': decorator.has_credentials()
-        }
-    self.response.out.write(template.render(path, variables))
-
-
-class FollowerHandler(webapp.RequestHandler):
-
-  @decorator.oauth_required
-  def get(self):
-    try:
-      http = decorator.http()
-      followers = service.people().list(
-          userId='@me', groupId='@followers').execute(http)
-      text = 'Hello, you have %s followers!' % followers['totalResults']
-
-      path = os.path.join(os.path.dirname(__file__), 'welcome.html')
-      self.response.out.write(template.render(path, {'text': text }))
-    except AccessTokenRefreshError:
-      self.redirect('/')
-
-
-def main():
-  application = webapp.WSGIApplication(
-      [
-       ('/', MainHandler),
-       ('/followers', FollowerHandler),
-      ],
-      debug=True)
-  run_wsgi_app(application)
-
-
-if __name__ == '__main__':
-  main()
diff --git a/samples/appengine_with_decorator2/oauth2 b/samples/appengine_with_decorator2/oauth2
deleted file mode 120000
index ee61c25..0000000
--- a/samples/appengine_with_decorator2/oauth2
+++ /dev/null
@@ -1 +0,0 @@
-../appengine/oauth2
\ No newline at end of file
diff --git a/samples/appengine_with_decorator2/oauth2client b/samples/appengine_with_decorator2/oauth2client
deleted file mode 120000
index 9013119..0000000
--- a/samples/appengine_with_decorator2/oauth2client
+++ /dev/null
@@ -1 +0,0 @@
-../../oauth2client/
\ No newline at end of file
diff --git a/samples/appengine_with_decorator2/uritemplate b/samples/appengine_with_decorator2/uritemplate
deleted file mode 120000
index 1c98e41..0000000
--- a/samples/appengine_with_decorator2/uritemplate
+++ /dev/null
@@ -1 +0,0 @@
-../appengine/uritemplate
\ No newline at end of file
diff --git a/samples/appengine_with_decorator2/welcome.html b/samples/appengine_with_decorator2/welcome.html
deleted file mode 100644
index 57b186e..0000000
--- a/samples/appengine_with_decorator2/welcome.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<html>
-  <head>
-    <title>Welcome</title>
-  </head>
-  <body>
-    <p>{{ text }}</p>
-  </body>
-</html>
diff --git a/samples/oauth2/dailymotion/app.yaml b/samples/dailymotion/app.yaml
similarity index 100%
rename from samples/oauth2/dailymotion/app.yaml
rename to samples/dailymotion/app.yaml
diff --git a/samples/oauth2/dailymotion/gflags.py b/samples/dailymotion/gflags.py
similarity index 100%
rename from samples/oauth2/dailymotion/gflags.py
rename to samples/dailymotion/gflags.py
diff --git a/samples/oauth2/dailymotion/gflags_validators.py b/samples/dailymotion/gflags_validators.py
similarity index 100%
rename from samples/oauth2/dailymotion/gflags_validators.py
rename to samples/dailymotion/gflags_validators.py
diff --git a/samples/oauth2/dailymotion/httplib2 b/samples/dailymotion/httplib2
similarity index 100%
rename from samples/oauth2/dailymotion/httplib2
rename to samples/dailymotion/httplib2
diff --git a/samples/oauth2/dailymotion/index.yaml b/samples/dailymotion/index.yaml
similarity index 100%
rename from samples/oauth2/dailymotion/index.yaml
rename to samples/dailymotion/index.yaml
diff --git a/samples/oauth2/dailymotion/main.py b/samples/dailymotion/main.py
similarity index 100%
rename from samples/oauth2/dailymotion/main.py
rename to samples/dailymotion/main.py
diff --git a/samples/oauth2/dailymotion/oauth2client b/samples/dailymotion/oauth2client
similarity index 100%
rename from samples/oauth2/dailymotion/oauth2client
rename to samples/dailymotion/oauth2client
diff --git a/samples/oauth2/dailymotion/simplejson b/samples/dailymotion/simplejson
similarity index 100%
rename from samples/oauth2/dailymotion/simplejson
rename to samples/dailymotion/simplejson
diff --git a/samples/oauth2/dailymotion/uritemplate b/samples/dailymotion/uritemplate
similarity index 100%
rename from samples/oauth2/dailymotion/uritemplate
rename to samples/dailymotion/uritemplate
diff --git a/samples/oauth2/dailymotion/welcome.html b/samples/dailymotion/welcome.html
similarity index 100%
rename from samples/oauth2/dailymotion/welcome.html
rename to samples/dailymotion/welcome.html
diff --git a/samples/debugging/main.py b/samples/debugging/main.py
deleted file mode 100644
index be82ff1..0000000
--- a/samples/debugging/main.py
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/usr/bin/python2.4
-# -*- coding: utf-8 -*-
-#
-# Copyright 2010 Google Inc. All Rights Reserved.
-
-"""Simple command-line example for Translate.
-
-Command-line application that translates
-some text.
-"""
-
-__author__ = 'jcgregorio@google.com (Joe Gregorio)'
-
-import gflags
-import logging
-import pprint
-import sys
-
-from apiclient.discovery import build
-from apiclient.model import JsonModel
-
-
-FLAGS = gflags.FLAGS
-logger = logging.getLogger()
-logger.setLevel(logging.INFO)
-
-
-def main(argv):
-  try:
-    argv = FLAGS(argv)
-  except gflags.FlagsError, e:
-    print '%s\\nUsage: %s ARGS\\n%s' % (e, argv[0], FLAGS)
-    sys.exit(1)
-
-  service = build('translate', 'v2',
-                  developerKey='AIzaSyAQIKv_gwnob-YNrXV2stnY86GSGY81Zr0',
-                  model=JsonModel())
-  print service.translations().list(
-      source='en',
-      target='fr',
-      q=['flower', 'car']
-    ).execute()
-
-if __name__ == '__main__':
-  main(sys.argv)
diff --git a/samples/local/main.py b/samples/local/main.py
deleted file mode 100644
index 98fb0a4..0000000
--- a/samples/local/main.py
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/usr/bin/python2.4
-# -*- coding: utf-8 -*-
-#
-# Copyright 2010 Google Inc. All Rights Reserved.
-
-"""Simple command-line example for running against a
-  local server.
-
-"""
-
-__author__ = 'jcgregorio@google.com (Joe Gregorio)'
-
-# Enable this sample to be run from the top-level directory
-import os
-import sys
-sys.path.insert(0, os.getcwd())
-
-from apiclient.discovery import build
-
-import httplib2
-# httplib2.debuglevel = 4
-import pickle
-import pprint
-
-DISCOVERY_URI = ('http://localhost:3990/discovery/v0.2beta1/describe/'
-  '{api}/{apiVersion}')
-
-
-def main():
-  http = httplib2.Http()
-
-  service = build("buzz", "v1", http=http, discoveryServiceUrl=DISCOVERY_URI)
-  help(service.activities().list)
-  print service.activities().list(userId='@self', scope='@me', c='foo').uri
-
-if __name__ == '__main__':
-  main()
diff --git a/samples/localdiscovery/buzz.json b/samples/localdiscovery/buzz.json
deleted file mode 100644
index cd121a2..0000000
--- a/samples/localdiscovery/buzz.json
+++ /dev/null
@@ -1,3727 +0,0 @@
-{
- "kind": "discovery#restDescription",
- "id": "buzz:v1",
- "name": "buzz",
- "version": "v1",
- "title": "Buzz API",
- "description": "Lets you share updates, photos, videos, and more with your friends around the world",
- "icons": {
-  "x16": "http://www.google.com/images/icons/product/buzz-16.png",
-  "x32": "http://www.google.com/images/icons/product/buzz-32.png"
- },
- "documentationLink": "http://code.google.com/apis/buzz/v1/using_rest.html",
- "labels": [
-  "labs"
- ],
- "protocol": "rest",
- "basePath": "/buzz/v1/",
- "auth": {
-  "oauth2": {
-   "scopes": {
-    "https://www.googleapis.com/auth/buzz": {
-     "description": "Manage your Buzz activity and address book"
-    },
-    "https://www.googleapis.com/auth/buzz.readonly": {
-     "description": "View your Buzz activity and address book"
-    },
-    "https://www.googleapis.com/auth/picasa": {
-     "description": "Manage your photos and videos"
-    }
-   }
-  }
- },
- "features": [
-  "dataWrapper"
- ],
- "schemas": {
-  "Activity": {
-   "id": "Activity",
-   "type": "object",
-   "properties": {
-    "actor": {
-     "type": "object",
-     "properties": {
-      "id": {
-       "type": "any"
-      },
-      "name": {
-       "type": "any"
-      },
-      "profileUrl": {
-       "type": "any"
-      },
-      "thumbnailUrl": {
-       "type": "any"
-      }
-     }
-    },
-    "address": {
-     "type": "any"
-    },
-    "annotation": {
-     "type": "any"
-    },
-    "categories": {
-     "type": "array",
-     "items": {
-      "type": "object",
-      "properties": {
-       "label": {
-        "type": "any"
-       },
-       "schema": {
-        "type": "any"
-       },
-       "term": {
-        "type": "any"
-       }
-      }
-     }
-    },
-    "crosspostSource": {
-     "type": "any"
-    },
-    "detectedlLang": {
-     "type": "any"
-    },
-    "geocode": {
-     "type": "any"
-    },
-    "id": {
-     "type": "any"
-    },
-    "kind": {
-     "type": "string",
-     "default": "buzz#activity"
-    },
-    "links": {
-     "type": "object",
-     "properties": {
-      "liked": {
-       "type": "array",
-       "items": {
-        "type": "object",
-        "properties": {
-         "count": {
-          "type": "integer"
-         },
-         "href": {
-          "type": "any"
-         },
-         "type": {
-          "type": "any"
-         }
-        }
-       }
-      }
-     },
-     "additionalProperties": {
-      "type": "array",
-      "items": {
-       "type": "object",
-       "properties": {
-        "count": {
-         "type": "any"
-        },
-        "height": {
-         "type": "any"
-        },
-        "href": {
-         "type": "any"
-        },
-        "title": {
-         "type": "any"
-        },
-        "type": {
-         "type": "any"
-        },
-        "updated": {
-         "type": "string"
-        },
-        "width": {
-         "type": "any"
-        }
-       }
-      }
-     }
-    },
-    "object": {
-     "type": "object",
-     "properties": {
-      "actor": {
-       "type": "object",
-       "properties": {
-        "id": {
-         "type": "any"
-        },
-        "name": {
-         "type": "any"
-        },
-        "profileUrl": {
-         "type": "any"
-        },
-        "thumbnailUrl": {
-         "type": "any"
-        }
-       }
-      },
-      "attachments": {
-       "type": "array",
-       "items": {
-        "type": "object",
-        "properties": {
-         "content": {
-          "type": "any"
-         },
-         "id": {
-          "type": "any"
-         },
-         "links": {
-          "type": "object",
-          "additionalProperties": {
-           "type": "array",
-           "items": {
-            "type": "object",
-            "properties": {
-             "count": {
-              "type": "any"
-             },
-             "height": {
-              "type": "any"
-             },
-             "href": {
-              "type": "any"
-             },
-             "title": {
-              "type": "any"
-             },
-             "type": {
-              "type": "any"
-             },
-             "updated": {
-              "type": "string"
-             },
-             "width": {
-              "type": "any"
-             }
-            }
-           }
-          }
-         },
-         "title": {
-          "type": "any"
-         },
-         "type": {
-          "type": "string"
-         }
-        }
-       }
-      },
-      "comments": {
-       "type": "array",
-       "items": {
-        "$ref": "Comment"
-       }
-      },
-      "content": {
-       "type": "any"
-      },
-      "detectedlLang": {
-       "type": "any"
-      },
-      "id": {
-       "type": "any"
-      },
-      "liked": {
-       "type": "array",
-       "items": {
-        "$ref": "Person"
-       }
-      },
-      "links": {
-       "type": "object",
-       "additionalProperties": {
-        "type": "array",
-        "items": {
-         "type": "object",
-         "properties": {
-          "href": {
-           "type": "any"
-          },
-          "type": {
-           "type": "any"
-          }
-         }
-        }
-       }
-      },
-      "originalContent": {
-       "type": "any"
-      },
-      "shareOriginal": {
-       "$ref": "Activity"
-      },
-      "targetLang": {
-       "type": "any"
-      },
-      "type": {
-       "type": "string"
-      },
-      "untranslatedContent": {
-       "type": "any"
-      }
-     }
-    },
-    "placeId": {
-     "type": "any"
-    },
-    "placeName": {
-     "type": "any"
-    },
-    "placeholder": {
-     "type": "any"
-    },
-    "published": {
-     "type": "string"
-    },
-    "radius": {
-     "type": "any"
-    },
-    "source": {
-     "type": "object",
-     "properties": {
-      "title": {
-       "type": "any"
-      }
-     }
-    },
-    "targetLang": {
-     "type": "any"
-    },
-    "title": {
-     "type": "any"
-    },
-    "untranslatedTitle": {
-     "type": "any"
-    },
-    "updated": {
-     "type": "string"
-    },
-    "verbs": {
-     "type": "array",
-     "items": {
-      "type": "string"
-     }
-    },
-    "visibility": {
-     "type": "object",
-     "properties": {
-      "entries": {
-       "type": "array",
-       "items": {
-        "type": "object",
-        "properties": {
-         "id": {
-          "type": "any"
-         },
-         "title": {
-          "type": "any"
-         }
-        }
-       }
-      }
-     }
-    }
-   }
-  },
-  "ActivityFeed": {
-   "id": "ActivityFeed",
-   "type": "object",
-   "properties": {
-    "id": {
-     "type": "any"
-    },
-    "items": {
-     "type": "array",
-     "items": {
-      "$ref": "Activity"
-     }
-    },
-    "kind": {
-     "type": "string",
-     "default": "buzz#activityFeed"
-    },
-    "links": {
-     "type": "object",
-     "additionalProperties": {
-      "type": "array",
-      "items": {
-       "type": "object",
-       "properties": {
-        "count": {
-         "type": "any"
-        },
-        "height": {
-         "type": "any"
-        },
-        "href": {
-         "type": "any"
-        },
-        "title": {
-         "type": "any"
-        },
-        "type": {
-         "type": "any"
-        },
-        "updated": {
-         "type": "string"
-        },
-        "width": {
-         "type": "any"
-        }
-       }
-      }
-     }
-    },
-    "title": {
-     "type": "any"
-    },
-    "updated": {
-     "type": "string"
-    }
-   }
-  },
-  "Album": {
-   "id": "Album",
-   "type": "object",
-   "properties": {
-    "created": {
-     "type": "string"
-    },
-    "description": {
-     "type": "string"
-    },
-    "firstPhotoId": {
-     "type": "integer"
-    },
-    "id": {
-     "type": "integer"
-    },
-    "kind": {
-     "type": "string",
-     "default": "buzz#album"
-    },
-    "lastModified": {
-     "type": "string"
-    },
-    "links": {
-     "type": "object",
-     "properties": {
-      "alternate": {
-       "$ref": "Link"
-      },
-      "enclosure": {
-       "$ref": "Link"
-      }
-     }
-    },
-    "owner": {
-     "type": "object",
-     "properties": {
-      "id": {
-       "type": "string"
-      },
-      "name": {
-       "type": "string"
-      },
-      "profileUrl": {
-       "type": "string"
-      },
-      "thumbnailUrl": {
-       "type": "string"
-      }
-     }
-    },
-    "tags": {
-     "type": "array",
-     "items": {
-      "type": "string"
-     }
-    },
-    "title": {
-     "type": "string"
-    },
-    "version": {
-     "type": "integer"
-    }
-   }
-  },
-  "AlbumLite": {
-   "id": "AlbumLite",
-   "type": "object",
-   "properties": {
-    "collection": {
-     "type": "object",
-     "properties": {
-      "album": {
-       "type": "any"
-      },
-      "albumId": {
-       "type": "any"
-      },
-      "photo": {
-       "type": "object",
-       "properties": {
-        "photoUrl": {
-         "type": "any"
-        }
-       }
-      }
-     }
-    },
-    "kind": {
-     "type": "string",
-     "default": "buzz#albumLite"
-    }
-   }
-  },
-  "AlbumsFeed": {
-   "id": "AlbumsFeed",
-   "type": "object",
-   "properties": {
-    "items": {
-     "type": "array",
-     "items": {
-      "$ref": "Album"
-     }
-    },
-    "kind": {
-     "type": "string",
-     "default": "buzz#albumsFeed"
-    }
-   }
-  },
-  "ChiliPhotosResourceJson": {
-   "id": "ChiliPhotosResourceJson",
-   "type": "object",
-   "properties": {
-    "album": {
-     "type": "object",
-     "properties": {
-      "id": {
-       "type": "integer"
-      },
-      "page_link": {
-       "$ref": "Link"
-      }
-     }
-    },
-    "created": {
-     "type": "string"
-    },
-    "description": {
-     "type": "string"
-    },
-    "fileSize": {
-     "type": "integer"
-    },
-    "id": {
-     "type": "integer"
-    },
-    "kind": {
-     "type": "string"
-    },
-    "lastModified": {
-     "type": "string"
-    },
-    "links": {
-     "type": "object",
-     "properties": {
-      "alternate": {
-       "type": "array",
-       "items": {
-        "$ref": "Link"
-       }
-      }
-     },
-     "additionalProperties": {
-      "type": "array",
-      "items": {
-       "$ref": "Link"
-      }
-     }
-    },
-    "owner": {
-     "type": "object",
-     "properties": {
-      "id": {
-       "type": "string"
-      },
-      "name": {
-       "type": "string"
-      },
-      "profileUrl": {
-       "type": "string"
-      },
-      "thumbnailUrl": {
-       "type": "string"
-      }
-     }
-    },
-    "timestamp": {
-     "type": "number"
-    },
-    "title": {
-     "type": "string"
-    },
-    "version": {
-     "type": "integer"
-    },
-    "video": {
-     "$ref": "Video"
-    }
-   }
-  },
-  "Comment": {
-   "id": "Comment",
-   "type": "object",
-   "properties": {
-    "actor": {
-     "type": "object",
-     "properties": {
-      "id": {
-       "type": "any"
-      },
-      "name": {
-       "type": "any"
-      },
-      "profileUrl": {
-       "type": "any"
-      },
-      "thumbnailUrl": {
-       "type": "any"
-      }
-     }
-    },
-    "content": {
-     "type": "any"
-    },
-    "detectedLang": {
-     "type": "any"
-    },
-    "id": {
-     "type": "any"
-    },
-    "kind": {
-     "type": "string",
-     "default": "buzz#comment"
-    },
-    "links": {
-     "type": "object",
-     "properties": {
-      "inReplyTo": {
-       "type": "array",
-       "items": {
-        "type": "object",
-        "properties": {
-         "href": {
-          "type": "any"
-         },
-         "ref": {
-          "type": "any"
-         },
-         "source": {
-          "type": "any"
-         }
-        }
-       }
-      }
-     },
-     "additionalProperties": {
-      "type": "array",
-      "items": {
-       "type": "object",
-       "properties": {
-        "count": {
-         "type": "any"
-        },
-        "height": {
-         "type": "any"
-        },
-        "href": {
-         "type": "any"
-        },
-        "title": {
-         "type": "any"
-        },
-        "type": {
-         "type": "any"
-        },
-        "updated": {
-         "type": "string"
-        },
-        "width": {
-         "type": "any"
-        }
-       }
-      }
-     }
-    },
-    "originalContent": {
-     "type": "any"
-    },
-    "placeholder": {
-     "type": "any"
-    },
-    "published": {
-     "type": "string"
-    },
-    "targetLang": {
-     "type": "any"
-    },
-    "untranslatedContent": {
-     "type": "any"
-    },
-    "updated": {
-     "type": "string"
-    }
-   }
-  },
-  "CommentFeed": {
-   "id": "CommentFeed",
-   "type": "object",
-   "properties": {
-    "id": {
-     "type": "any"
-    },
-    "items": {
-     "type": "array",
-     "items": {
-      "$ref": "Comment"
-     }
-    },
-    "kind": {
-     "type": "string",
-     "default": "buzz#commentFeed"
-    },
-    "links": {
-     "type": "object",
-     "additionalProperties": {
-      "type": "array",
-      "items": {
-       "type": "object",
-       "properties": {
-        "count": {
-         "type": "any"
-        },
-        "height": {
-         "type": "any"
-        },
-        "href": {
-         "type": "any"
-        },
-        "title": {
-         "type": "any"
-        },
-        "type": {
-         "type": "any"
-        },
-        "updated": {
-         "type": "string"
-        },
-        "width": {
-         "type": "any"
-        }
-       }
-      }
-     }
-    },
-    "title": {
-     "type": "any"
-    },
-    "updated": {
-     "type": "string"
-    }
-   }
-  },
-  "CountFeed": {
-   "id": "CountFeed",
-   "type": "object",
-   "properties": {
-    "counts": {
-     "type": "object",
-     "additionalProperties": {
-      "type": "array",
-      "items": {
-       "type": "object",
-       "properties": {
-        "count": {
-         "type": "any"
-        },
-        "timestamp": {
-         "type": "string"
-        }
-       }
-      }
-     }
-    },
-    "kind": {
-     "type": "string",
-     "default": "buzz#countFeed"
-    }
-   }
-  },
-  "Group": {
-   "id": "Group",
-   "type": "object",
-   "properties": {
-    "id": {
-     "type": "any"
-    },
-    "kind": {
-     "type": "string",
-     "default": "buzz#group"
-    },
-    "links": {
-     "type": "object",
-     "properties": {
-      "self": {
-       "type": "array",
-       "items": {
-        "type": "object",
-        "properties": {
-         "href": {
-          "type": "any"
-         },
-         "type": {
-          "type": "string",
-          "default": "application/json"
-         }
-        }
-       }
-      }
-     }
-    },
-    "memberCount": {
-     "type": "any"
-    },
-    "title": {
-     "type": "any"
-    }
-   }
-  },
-  "GroupFeed": {
-   "id": "GroupFeed",
-   "type": "object",
-   "properties": {
-    "items": {
-     "type": "array",
-     "items": {
-      "$ref": "Group"
-     }
-    },
-    "kind": {
-     "type": "string",
-     "default": "buzz#groupFeed"
-    },
-    "links": {
-     "type": "object",
-     "additionalProperties": {
-      "type": "array",
-      "items": {
-       "type": "object",
-       "properties": {
-        "count": {
-         "type": "any"
-        },
-        "height": {
-         "type": "any"
-        },
-        "href": {
-         "type": "any"
-        },
-        "title": {
-         "type": "any"
-        },
-        "type": {
-         "type": "any"
-        },
-        "updated": {
-         "type": "string"
-        },
-        "width": {
-         "type": "any"
-        }
-       }
-      }
-     }
-    }
-   }
-  },
-  "Link": {
-   "id": "Link",
-   "type": "object",
-   "properties": {
-    "count": {
-     "type": "integer"
-    },
-    "height": {
-     "type": "integer"
-    },
-    "href": {
-     "type": "string"
-    },
-    "title": {
-     "type": "string"
-    },
-    "type": {
-     "type": "string"
-    },
-    "updated": {
-     "type": "string"
-    },
-    "width": {
-     "type": "integer"
-    }
-   }
-  },
-  "PeopleFeed": {
-   "id": "PeopleFeed",
-   "type": "object",
-   "properties": {
-    "entry": {
-     "type": "array",
-     "items": {
-      "$ref": "Person"
-     }
-    },
-    "itemsPerPage": {
-     "type": "any"
-    },
-    "kind": {
-     "type": "string",
-     "default": "buzz#peopleFeed"
-    },
-    "startIndex": {
-     "type": "any"
-    },
-    "totalResults": {
-     "type": "any"
-    }
-   }
-  },
-  "Person": {
-   "id": "Person",
-   "type": "object",
-   "properties": {
-    "aboutMe": {
-     "type": "any"
-    },
-    "accounts": {
-     "type": "array",
-     "items": {
-      "type": "object",
-      "properties": {
-       "domain": {
-        "type": "any"
-       },
-       "userid": {
-        "type": "any"
-       },
-       "username": {
-        "type": "any"
-       }
-      }
-     }
-    },
-    "activities": {
-     "type": "array",
-     "items": {
-      "type": "any"
-     }
-    },
-    "addresses": {
-     "type": "array",
-     "items": {
-      "type": "object",
-      "properties": {
-       "country": {
-        "type": "any"
-       },
-       "formatted": {
-        "type": "any"
-       },
-       "locality": {
-        "type": "any"
-       },
-       "postalCode": {
-        "type": "any"
-       },
-       "primary": {
-        "type": "any"
-       },
-       "region": {
-        "type": "any"
-       },
-       "streetAddress": {
-        "type": "any"
-       },
-       "type": {
-        "type": "any"
-       }
-      }
-     }
-    },
-    "anniversary": {
-     "type": "any"
-    },
-    "birthday": {
-     "type": "any"
-    },
-    "bodyType": {
-     "type": "any"
-    },
-    "books": {
-     "type": "array",
-     "items": {
-      "type": "any"
-     }
-    },
-    "cars": {
-     "type": "array",
-     "items": {
-      "type": "any"
-     }
-    },
-    "children": {
-     "type": "array",
-     "items": {
-      "type": "any"
-     }
-    },
-    "connected": {
-     "type": "any"
-    },
-    "currentLocation": {
-     "type": "any"
-    },
-    "displayName": {
-     "type": "any"
-    },
-    "drinker": {
-     "type": "any"
-    },
-    "emails": {
-     "type": "array",
-     "items": {
-      "type": "object",
-      "properties": {
-       "primary": {
-        "type": "any"
-       },
-       "type": {
-        "type": "any"
-       },
-       "value": {
-        "type": "any"
-       }
-      }
-     }
-    },
-    "ethnicity": {
-     "type": "any"
-    },
-    "fashion": {
-     "type": "any"
-    },
-    "food": {
-     "type": "array",
-     "items": {
-      "type": "any"
-     }
-    },
-    "gender": {
-     "type": "any"
-    },
-    "happiestWhen": {
-     "type": "any"
-    },
-    "hasApp": {
-     "type": "any"
-    },
-    "heroes": {
-     "type": "array",
-     "items": {
-      "type": "any"
-     }
-    },
-    "humor": {
-     "type": "any"
-    },
-    "id": {
-     "type": "any"
-    },
-    "ims": {
-     "type": "array",
-     "items": {
-      "type": "object",
-      "properties": {
-       "primary": {
-        "type": "any"
-       },
-       "type": {
-        "type": "any"
-       },
-       "value": {
-        "type": "any"
-       }
-      }
-     }
-    },
-    "interests": {
-     "type": "array",
-     "items": {
-      "type": "any"
-     }
-    },
-    "jobInterests": {
-     "type": "array",
-     "items": {
-      "type": "any"
-     }
-    },
-    "kind": {
-     "type": "string",
-     "default": "buzz#person"
-    },
-    "languages": {
-     "type": "array",
-     "items": {
-      "type": "any"
-     }
-    },
-    "languagesSpoken": {
-     "type": "array",
-     "items": {
-      "type": "any"
-     }
-    },
-    "livingArrangement": {
-     "type": "any"
-    },
-    "lookingFor": {
-     "type": "any"
-    },
-    "movies": {
-     "type": "array",
-     "items": {
-      "type": "any"
-     }
-    },
-    "music": {
-     "type": "array",
-     "items": {
-      "type": "any"
-     }
-    },
-    "name": {
-     "type": "object",
-     "properties": {
-      "familyName": {
-       "type": "any"
-      },
-      "formatted": {
-       "type": "any"
-      },
-      "givenName": {
-       "type": "any"
-      },
-      "honorificPrefix": {
-       "type": "any"
-      },
-      "honorificSuffix": {
-       "type": "any"
-      },
-      "middleName": {
-       "type": "any"
-      }
-     }
-    },
-    "nickname": {
-     "type": "any"
-    },
-    "note": {
-     "type": "any"
-    },
-    "organizations": {
-     "type": "array",
-     "items": {
-      "type": "object",
-      "properties": {
-       "department": {
-        "type": "any"
-       },
-       "description": {
-        "type": "any"
-       },
-       "endDate": {
-        "type": "any"
-       },
-       "location": {
-        "type": "any"
-       },
-       "name": {
-        "type": "any"
-       },
-       "primary": {
-        "type": "any"
-       },
-       "startDate": {
-        "type": "any"
-       },
-       "title": {
-        "type": "any"
-       },
-       "type": {
-        "type": "any"
-       }
-      }
-     }
-    },
-    "pets": {
-     "type": "array",
-     "items": {
-      "type": "any"
-     }
-    },
-    "phoneNumbers": {
-     "type": "array",
-     "items": {
-      "type": "object",
-      "properties": {
-       "primary": {
-        "type": "any"
-       },
-       "type": {
-        "type": "any"
-       },
-       "value": {
-        "type": "any"
-       }
-      }
-     }
-    },
-    "photos": {
-     "type": "array",
-     "items": {
-      "type": "object",
-      "properties": {
-       "height": {
-        "type": "any"
-       },
-       "primary": {
-        "type": "any"
-       },
-       "type": {
-        "type": "any"
-       },
-       "value": {
-        "type": "any"
-       },
-       "width": {
-        "type": "any"
-       }
-      }
-     }
-    },
-    "politicalViews": {
-     "type": "array",
-     "items": {
-      "type": "any"
-     }
-    },
-    "preferredUsername": {
-     "type": "any"
-    },
-    "profileSong": {
-     "type": "any"
-    },
-    "profileUrl": {
-     "type": "any"
-    },
-    "profileVideo": {
-     "type": "any"
-    },
-    "published": {
-     "type": "string"
-    },
-    "quotes": {
-     "type": "array",
-     "items": {
-      "type": "any"
-     }
-    },
-    "relationshipStatus": {
-     "type": "any"
-    },
-    "relationships": {
-     "type": "array",
-     "items": {
-      "type": "any"
-     }
-    },
-    "religion": {
-     "type": "any"
-    },
-    "romance": {
-     "type": "any"
-    },
-    "scaredOf": {
-     "type": "any"
-    },
-    "sexualOrientation": {
-     "type": "any"
-    },
-    "smoker": {
-     "type": "any"
-    },
-    "sports": {
-     "type": "array",
-     "items": {
-      "type": "any"
-     }
-    },
-    "status": {
-     "type": "any"
-    },
-    "tags": {
-     "type": "array",
-     "items": {
-      "type": "any"
-     }
-    },
-    "thumbnailUrl": {
-     "type": "any"
-    },
-    "turnOffs": {
-     "type": "array",
-     "items": {
-      "type": "any"
-     }
-    },
-    "turnOns": {
-     "type": "array",
-     "items": {
-      "type": "any"
-     }
-    },
-    "tvShows": {
-     "type": "array",
-     "items": {
-      "type": "any"
-     }
-    },
-    "updated": {
-     "type": "string"
-    },
-    "urls": {
-     "type": "array",
-     "items": {
-      "type": "object",
-      "properties": {
-       "primary": {
-        "type": "any"
-       },
-       "type": {
-        "type": "any"
-       },
-       "value": {
-        "type": "any"
-       }
-      }
-     }
-    },
-    "utcOffset": {
-     "type": "any"
-    }
-   }
-  },
-  "PhotosFeed": {
-   "id": "PhotosFeed",
-   "type": "object",
-   "properties": {
-    "items": {
-     "type": "array",
-     "items": {
-      "$ref": "ChiliPhotosResourceJson"
-     }
-    },
-    "kind": {
-     "type": "string",
-     "default": "buzz#photosFeed"
-    }
-   }
-  },
-  "Related": {
-   "id": "Related",
-   "type": "object",
-   "properties": {
-    "href": {
-     "type": "any"
-    },
-    "id": {
-     "type": "any"
-    },
-    "kind": {
-     "type": "string",
-     "default": "buzz#related"
-    },
-    "summary": {
-     "type": "any"
-    },
-    "title": {
-     "type": "any"
-    }
-   }
-  },
-  "RelatedFeed": {
-   "id": "RelatedFeed",
-   "type": "object",
-   "properties": {
-    "id": {
-     "type": "any"
-    },
-    "items": {
-     "type": "array",
-     "items": {
-      "$ref": "Related"
-     }
-    },
-    "kind": {
-     "type": "string",
-     "default": "buzz#relatedFeed"
-    },
-    "links": {
-     "type": "object",
-     "additionalProperties": {
-      "type": "array",
-      "items": {
-       "type": "object",
-       "properties": {
-        "count": {
-         "type": "any"
-        },
-        "height": {
-         "type": "any"
-        },
-        "href": {
-         "type": "any"
-        },
-        "title": {
-         "type": "any"
-        },
-        "type": {
-         "type": "any"
-        },
-        "updated": {
-         "type": "string"
-        },
-        "width": {
-         "type": "any"
-        }
-       }
-      }
-     }
-    },
-    "title": {
-     "type": "any"
-    },
-    "updated": {
-     "type": "string"
-    }
-   }
-  },
-  "Video": {
-   "id": "Video",
-   "type": "object",
-   "properties": {
-    "duration": {
-     "type": "integer"
-    },
-    "size": {
-     "type": "integer"
-    },
-    "status": {
-     "type": "string"
-    },
-    "streams": {
-     "type": "array",
-     "items": {
-      "$ref": "Link"
-     }
-    }
-   }
-  }
- },
- "resources": {
-  "activities": {
-   "methods": {
-    "count": {
-     "id": "chili.activities.count",
-     "path": "activities/count",
-     "httpMethod": "GET",
-     "description": "Get a count of link shares",
-     "parameters": {
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "url": {
-       "type": "string",
-       "description": "URLs for which to get share counts.",
-       "repeated": true,
-       "location": "query"
-      }
-     },
-     "response": {
-      "$ref": "CountFeed"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/buzz",
-      "https://www.googleapis.com/auth/buzz.readonly"
-     ]
-    },
-    "delete": {
-     "id": "chili.activities.delete",
-     "path": "activities/{userId}/{scope}/{postId}",
-     "httpMethod": "DELETE",
-     "description": "Delete an activity",
-     "parameters": {
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "postId": {
-       "type": "string",
-       "description": "ID of the activity to delete.",
-       "required": true,
-       "location": "path"
-      },
-      "scope": {
-       "type": "string",
-       "description": "The collection to which the activity belongs.",
-       "required": true,
-       "enum": [
-        "@liked",
-        "@muted",
-        "@self"
-       ],
-       "enumDescriptions": [
-        "Activities liked by the user.",
-        "Activities muted by the user.",
-        "Activities posted by the user."
-       ],
-       "location": "path"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user whose post to delete.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId",
-      "scope",
-      "postId"
-     ],
-     "scopes": [
-      "https://www.googleapis.com/auth/buzz"
-     ]
-    },
-    "extractPeopleFromSearch": {
-     "id": "chili.activities.extractPeopleFromSearch",
-     "path": "activities/search/@people",
-     "httpMethod": "GET",
-     "description": "Search for people by topic",
-     "parameters": {
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "bbox": {
-       "type": "string",
-       "description": "Bounding box to use in a geographic location query.",
-       "location": "query"
-      },
-      "c": {
-       "type": "string",
-       "description": "A continuation token that allows pagination.",
-       "location": "query"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "lat": {
-       "type": "string",
-       "description": "Latitude to use in a geographic location query.",
-       "location": "query"
-      },
-      "lon": {
-       "type": "string",
-       "description": "Longitude to use in a geographic location query.",
-       "location": "query"
-      },
-      "max-results": {
-       "type": "integer",
-       "description": "Maximum number of results to include.",
-       "default": "20",
-       "minimum": "0",
-       "maximum": "4294967295",
-       "location": "query"
-      },
-      "pid": {
-       "type": "string",
-       "description": "ID of a place to use in a geographic location query.",
-       "location": "query"
-      },
-      "q": {
-       "type": "string",
-       "description": "Full-text search query string.",
-       "location": "query"
-      },
-      "radius": {
-       "type": "string",
-       "description": "Radius to use in a geographic location query.",
-       "location": "query"
-      }
-     },
-     "response": {
-      "$ref": "PeopleFeed"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/buzz",
-      "https://www.googleapis.com/auth/buzz.readonly"
-     ]
-    },
-    "get": {
-     "id": "chili.activities.get",
-     "path": "activities/{userId}/@self/{postId}",
-     "httpMethod": "GET",
-     "description": "Get an activity",
-     "parameters": {
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "max-comments": {
-       "type": "integer",
-       "description": "Maximum number of comments to include.",
-       "default": "0",
-       "minimum": "0",
-       "maximum": "4294967295",
-       "location": "query"
-      },
-      "max-liked": {
-       "type": "integer",
-       "description": "Maximum number of likes to include.",
-       "default": "0",
-       "minimum": "0",
-       "maximum": "4294967295",
-       "location": "query"
-      },
-      "postId": {
-       "type": "string",
-       "description": "ID of the post to get.",
-       "required": true,
-       "location": "path"
-      },
-      "truncateAtom": {
-       "type": "boolean",
-       "description": "Truncate the value of the atom:content element.",
-       "location": "query"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user whose post to get.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId",
-      "postId"
-     ],
-     "response": {
-      "$ref": "Activity"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/buzz",
-      "https://www.googleapis.com/auth/buzz.readonly"
-     ]
-    },
-    "insert": {
-     "id": "chili.activities.insert",
-     "path": "activities/{userId}/@self",
-     "httpMethod": "POST",
-     "description": "Create a new activity",
-     "parameters": {
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "preview": {
-       "type": "boolean",
-       "description": "If true, only preview the action.",
-       "default": "false",
-       "location": "query"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user being referenced.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId"
-     ],
-     "request": {
-      "$ref": "Activity"
-     },
-     "response": {
-      "$ref": "Activity"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/buzz"
-     ]
-    },
-    "list": {
-     "id": "chili.activities.list",
-     "path": "activities/{userId}/{scope}",
-     "httpMethod": "GET",
-     "description": "List activities",
-     "parameters": {
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "c": {
-       "type": "string",
-       "description": "A continuation token that allows pagination.",
-       "location": "query"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "max-comments": {
-       "type": "integer",
-       "description": "Maximum number of comments to include.",
-       "default": "0",
-       "minimum": "0",
-       "maximum": "4294967295",
-       "location": "query"
-      },
-      "max-liked": {
-       "type": "integer",
-       "description": "Maximum number of likes to include.",
-       "default": "0",
-       "minimum": "0",
-       "maximum": "4294967295",
-       "location": "query"
-      },
-      "max-results": {
-       "type": "integer",
-       "description": "Maximum number of results to include.",
-       "default": "20",
-       "minimum": "0",
-       "maximum": "4294967295",
-       "location": "query"
-      },
-      "scope": {
-       "type": "string",
-       "description": "The collection of activities to list.",
-       "required": true,
-       "enum": [
-        "@comments",
-        "@consumption",
-        "@liked",
-        "@public",
-        "@self"
-       ],
-       "enumDescriptions": [
-        "Limit to activities commented on by the user.",
-        "Limit to activities to be consumed by the user.",
-        "Limit to activities liked by the user.",
-        "Limit to public activities posted by the user.",
-        "Limit to activities posted by the user."
-       ],
-       "location": "path"
-      },
-      "truncateAtom": {
-       "type": "boolean",
-       "description": "Truncate the value of the atom:content element.",
-       "location": "query"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user being referenced.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId",
-      "scope"
-     ],
-     "response": {
-      "$ref": "ActivityFeed"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/buzz",
-      "https://www.googleapis.com/auth/buzz.readonly"
-     ]
-    },
-    "search": {
-     "id": "chili.activities.search",
-     "path": "activities/search",
-     "httpMethod": "GET",
-     "description": "Search for activities",
-     "parameters": {
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "bbox": {
-       "type": "string",
-       "description": "Bounding box to use in a geographic location query.",
-       "location": "query"
-      },
-      "c": {
-       "type": "string",
-       "description": "A continuation token that allows pagination.",
-       "location": "query"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "lat": {
-       "type": "string",
-       "description": "Latitude to use in a geographic location query.",
-       "location": "query"
-      },
-      "lon": {
-       "type": "string",
-       "description": "Longitude to use in a geographic location query.",
-       "location": "query"
-      },
-      "max-results": {
-       "type": "integer",
-       "description": "Maximum number of results to include.",
-       "default": "20",
-       "minimum": "0",
-       "maximum": "4294967295",
-       "location": "query"
-      },
-      "pid": {
-       "type": "string",
-       "description": "ID of a place to use in a geographic location query.",
-       "location": "query"
-      },
-      "q": {
-       "type": "string",
-       "description": "Full-text search query string.",
-       "location": "query"
-      },
-      "radius": {
-       "type": "string",
-       "description": "Radius to use in a geographic location query.",
-       "location": "query"
-      },
-      "truncateAtom": {
-       "type": "boolean",
-       "description": "Truncate the value of the atom:content element.",
-       "location": "query"
-      }
-     },
-     "response": {
-      "$ref": "ActivityFeed"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/buzz",
-      "https://www.googleapis.com/auth/buzz.readonly"
-     ]
-    },
-    "track": {
-     "id": "chili.activities.track",
-     "path": "activities/track",
-     "httpMethod": "GET",
-     "description": "Get real-time activity tracking information",
-     "parameters": {
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "bbox": {
-       "type": "string",
-       "description": "Bounding box to use in a geographic location query.",
-       "location": "query"
-      },
-      "c": {
-       "type": "string",
-       "description": "A continuation token that allows pagination.",
-       "location": "query"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "lat": {
-       "type": "string",
-       "description": "Latitude to use in a geographic location query.",
-       "location": "query"
-      },
-      "lon": {
-       "type": "string",
-       "description": "Longitude to use in a geographic location query.",
-       "location": "query"
-      },
-      "max-results": {
-       "type": "integer",
-       "description": "Maximum number of results to include.",
-       "default": "20",
-       "minimum": "0",
-       "maximum": "4294967295",
-       "location": "query"
-      },
-      "pid": {
-       "type": "string",
-       "description": "ID of a place to use in a geographic location query.",
-       "location": "query"
-      },
-      "q": {
-       "type": "string",
-       "description": "Full-text search query string.",
-       "location": "query"
-      },
-      "radius": {
-       "type": "string",
-       "description": "Radius to use in a geographic location query.",
-       "location": "query"
-      }
-     },
-     "response": {
-      "$ref": "ActivityFeed"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/buzz",
-      "https://www.googleapis.com/auth/buzz.readonly"
-     ]
-    },
-    "update": {
-     "id": "chili.activities.update",
-     "path": "activities/{userId}/{scope}/{postId}",
-     "httpMethod": "PUT",
-     "description": "Update an activity",
-     "parameters": {
-      "abuseType": {
-       "type": "string",
-       "location": "query"
-      },
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "postId": {
-       "type": "string",
-       "description": "ID of the activity to update.",
-       "required": true,
-       "location": "path"
-      },
-      "scope": {
-       "type": "string",
-       "description": "The collection to which the activity belongs.",
-       "required": true,
-       "enum": [
-        "@abuse",
-        "@liked",
-        "@muted",
-        "@self"
-       ],
-       "enumDescriptions": [
-        "Activities reported by the user.",
-        "Activities liked by the user.",
-        "Activities muted by the user.",
-        "Activities posted by the user."
-       ],
-       "location": "path"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user whose post to update.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId",
-      "scope",
-      "postId"
-     ],
-     "request": {
-      "$ref": "Activity"
-     },
-     "response": {
-      "$ref": "Activity"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/buzz"
-     ]
-    }
-   }
-  },
-  "comments": {
-   "methods": {
-    "delete": {
-     "id": "chili.comments.delete",
-     "path": "activities/{userId}/@self/{postId}/@comments/{commentId}",
-     "httpMethod": "DELETE",
-     "description": "Delete a comment",
-     "parameters": {
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "commentId": {
-       "type": "string",
-       "description": "ID of the comment being referenced.",
-       "required": true,
-       "location": "path"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "postId": {
-       "type": "string",
-       "description": "ID of the activity for which to delete the comment.",
-       "required": true,
-       "location": "path"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user being referenced.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId",
-      "postId",
-      "commentId"
-     ],
-     "scopes": [
-      "https://www.googleapis.com/auth/buzz"
-     ]
-    },
-    "get": {
-     "id": "chili.comments.get",
-     "path": "activities/{userId}/@self/{postId}/@comments/{commentId}",
-     "httpMethod": "GET",
-     "description": "Get a comment",
-     "parameters": {
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "commentId": {
-       "type": "string",
-       "description": "ID of the comment being referenced.",
-       "required": true,
-       "location": "path"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "postId": {
-       "type": "string",
-       "description": "ID of the activity for which to get comments.",
-       "required": true,
-       "location": "path"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user being referenced.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId",
-      "postId",
-      "commentId"
-     ],
-     "response": {
-      "$ref": "Comment"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/buzz",
-      "https://www.googleapis.com/auth/buzz.readonly"
-     ]
-    },
-    "insert": {
-     "id": "chili.comments.insert",
-     "path": "activities/{userId}/@self/{postId}/@comments",
-     "httpMethod": "POST",
-     "description": "Create a comment",
-     "parameters": {
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "postId": {
-       "type": "string",
-       "description": "ID of the activity on which to comment.",
-       "required": true,
-       "location": "path"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user on whose behalf to comment.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId",
-      "postId"
-     ],
-     "request": {
-      "$ref": "Comment"
-     },
-     "response": {
-      "$ref": "Comment"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/buzz"
-     ]
-    },
-    "list": {
-     "id": "chili.comments.list",
-     "path": "activities/{userId}/{scope}/{postId}/@comments",
-     "httpMethod": "GET",
-     "description": "List comments",
-     "parameters": {
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "c": {
-       "type": "string",
-       "description": "A continuation token that allows pagination.",
-       "location": "query"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "max-results": {
-       "type": "integer",
-       "description": "Maximum number of results to include.",
-       "default": "20",
-       "minimum": "0",
-       "maximum": "4294967295",
-       "location": "query"
-      },
-      "postId": {
-       "type": "string",
-       "description": "ID of the activity for which to get comments.",
-       "required": true,
-       "location": "path"
-      },
-      "scope": {
-       "type": "string",
-       "description": "The collection to which the activity belongs.",
-       "required": true,
-       "enum": [
-        "@self"
-       ],
-       "enumDescriptions": [
-        "Activities posted by the user."
-       ],
-       "location": "path"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user for whose post to get comments.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId",
-      "scope",
-      "postId"
-     ],
-     "response": {
-      "$ref": "CommentFeed"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/buzz",
-      "https://www.googleapis.com/auth/buzz.readonly"
-     ]
-    },
-    "update": {
-     "id": "chili.comments.update",
-     "path": "activities/{userId}/{scope}/{postId}/@comments/{commentId}",
-     "httpMethod": "PUT",
-     "description": "Update a comment",
-     "parameters": {
-      "abuseType": {
-       "type": "string",
-       "location": "query"
-      },
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "commentId": {
-       "type": "string",
-       "description": "ID of the comment being referenced.",
-       "required": true,
-       "location": "path"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "postId": {
-       "type": "string",
-       "description": "ID of the activity for which to update the comment.",
-       "required": true,
-       "location": "path"
-      },
-      "scope": {
-       "type": "string",
-       "description": "The collection to which the activity belongs.",
-       "required": true,
-       "enum": [
-        "@abuse",
-        "@self"
-       ],
-       "enumDescriptions": [
-        "Comments reported by the user.",
-        "Comments posted by the user."
-       ],
-       "location": "path"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user being referenced.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId",
-      "scope",
-      "postId",
-      "commentId"
-     ],
-     "request": {
-      "$ref": "Comment"
-     },
-     "response": {
-      "$ref": "Comment"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/buzz"
-     ]
-    }
-   }
-  },
-  "groups": {
-   "methods": {
-    "delete": {
-     "id": "chili.groups.delete",
-     "path": "people/{userId}/@groups/{groupId}",
-     "httpMethod": "DELETE",
-     "description": "Delete a group",
-     "parameters": {
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "groupId": {
-       "type": "string",
-       "description": "ID of the group to delete.",
-       "required": true,
-       "location": "path"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user being referenced.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId",
-      "groupId"
-     ],
-     "scopes": [
-      "https://www.googleapis.com/auth/buzz"
-     ]
-    },
-    "get": {
-     "id": "chili.groups.get",
-     "path": "people/{userId}/@groups/{groupId}/@self",
-     "httpMethod": "GET",
-     "description": "Get a group",
-     "parameters": {
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "groupId": {
-       "type": "string",
-       "description": "ID of the group to get.",
-       "required": true,
-       "location": "path"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user being referenced.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId",
-      "groupId"
-     ],
-     "response": {
-      "$ref": "Group"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/buzz",
-      "https://www.googleapis.com/auth/buzz.readonly"
-     ]
-    },
-    "insert": {
-     "id": "chili.groups.insert",
-     "path": "people/{userId}/@groups",
-     "httpMethod": "POST",
-     "description": "Create a group",
-     "parameters": {
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user being referenced.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId"
-     ],
-     "request": {
-      "$ref": "Group"
-     },
-     "response": {
-      "$ref": "Group"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/buzz"
-     ]
-    },
-    "list": {
-     "id": "chili.groups.list",
-     "path": "people/{userId}/@groups",
-     "httpMethod": "GET",
-     "description": "Get a user's groups",
-     "parameters": {
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "c": {
-       "type": "string",
-       "description": "A continuation token that allows pagination.",
-       "location": "query"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "max-results": {
-       "type": "integer",
-       "description": "Maximum number of results to include.",
-       "default": "20",
-       "minimum": "0",
-       "maximum": "4294967295",
-       "location": "query"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user being referenced.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId"
-     ],
-     "response": {
-      "$ref": "GroupFeed"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/buzz",
-      "https://www.googleapis.com/auth/buzz.readonly"
-     ]
-    },
-    "update": {
-     "id": "chili.groups.update",
-     "path": "people/{userId}/@groups/{groupId}/@self",
-     "httpMethod": "PUT",
-     "description": "Update a group",
-     "parameters": {
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "groupId": {
-       "type": "string",
-       "description": "ID of the group to update.",
-       "required": true,
-       "location": "path"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user being referenced.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId",
-      "groupId"
-     ],
-     "request": {
-      "$ref": "Group"
-     },
-     "response": {
-      "$ref": "Group"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/buzz"
-     ]
-    }
-   }
-  },
-  "people": {
-   "methods": {
-    "delete": {
-     "id": "chili.people.delete",
-     "path": "people/{userId}/@groups/{groupId}/{personId}",
-     "httpMethod": "DELETE",
-     "description": "Remove a person from a group",
-     "parameters": {
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "groupId": {
-       "type": "string",
-       "description": "ID of the group from which to remove the person.",
-       "required": true,
-       "location": "path"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "personId": {
-       "type": "string",
-       "description": "ID of the person to remove from the group.",
-       "required": true,
-       "location": "path"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the owner of the group.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId",
-      "groupId",
-      "personId"
-     ],
-     "scopes": [
-      "https://www.googleapis.com/auth/buzz"
-     ]
-    },
-    "get": {
-     "id": "chili.people.get",
-     "path": "people/{userId}/@self",
-     "httpMethod": "GET",
-     "description": "Get a user profile",
-     "parameters": {
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user being referenced.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId"
-     ],
-     "response": {
-      "$ref": "Person"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/buzz",
-      "https://www.googleapis.com/auth/buzz.readonly"
-     ]
-    },
-    "liked": {
-     "id": "chili.people.liked",
-     "path": "activities/{userId}/{scope}/{postId}/{groupId}",
-     "httpMethod": "GET",
-     "description": "Get people who liked an activity",
-     "parameters": {
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "c": {
-       "type": "string",
-       "description": "A continuation token that allows pagination.",
-       "location": "query"
-      },
-      "groupId": {
-       "type": "string",
-       "required": true,
-       "enum": [
-        "@liked"
-       ],
-       "enumDescriptions": [
-        "People who liked this activity."
-       ],
-       "location": "path"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "max-results": {
-       "type": "integer",
-       "description": "Maximum number of results to include.",
-       "default": "20",
-       "minimum": "0",
-       "maximum": "4294967295",
-       "location": "query"
-      },
-      "postId": {
-       "type": "string",
-       "description": "ID of the activity that was liked.",
-       "required": true,
-       "location": "path"
-      },
-      "scope": {
-       "type": "string",
-       "required": true,
-       "location": "path"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user being referenced.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId",
-      "scope",
-      "postId",
-      "groupId"
-     ],
-     "response": {
-      "$ref": "PeopleFeed"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/buzz",
-      "https://www.googleapis.com/auth/buzz.readonly"
-     ]
-    },
-    "list": {
-     "id": "chili.people.list",
-     "path": "people/{userId}/@groups/{groupId}",
-     "httpMethod": "GET",
-     "description": "Get people in a group",
-     "parameters": {
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "c": {
-       "type": "string",
-       "description": "A continuation token that allows pagination.",
-       "location": "query"
-      },
-      "groupId": {
-       "type": "string",
-       "description": "ID of the group for which to list users.",
-       "required": true,
-       "location": "path"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "max-results": {
-       "type": "integer",
-       "description": "Maximum number of results to include.",
-       "default": "20",
-       "minimum": "0",
-       "maximum": "4294967295",
-       "location": "query"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user being referenced.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId",
-      "groupId"
-     ],
-     "response": {
-      "$ref": "PeopleFeed"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/buzz",
-      "https://www.googleapis.com/auth/buzz.readonly"
-     ]
-    },
-    "reshared": {
-     "id": "chili.people.reshared",
-     "path": "activities/{userId}/{scope}/{postId}/{groupId}",
-     "httpMethod": "GET",
-     "description": "Get people who reshared an activity",
-     "parameters": {
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "c": {
-       "type": "string",
-       "description": "A continuation token that allows pagination.",
-       "location": "query"
-      },
-      "groupId": {
-       "type": "string",
-       "required": true,
-       "enum": [
-        "@reshared"
-       ],
-       "enumDescriptions": [
-        "People who reshared this activity."
-       ],
-       "location": "path"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "max-results": {
-       "type": "integer",
-       "description": "Maximum number of results to include.",
-       "default": "20",
-       "minimum": "0",
-       "maximum": "4294967295",
-       "location": "query"
-      },
-      "postId": {
-       "type": "string",
-       "description": "ID of the activity that was reshared.",
-       "required": true,
-       "location": "path"
-      },
-      "scope": {
-       "type": "string",
-       "required": true,
-       "location": "path"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user being referenced.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId",
-      "scope",
-      "postId",
-      "groupId"
-     ],
-     "response": {
-      "$ref": "PeopleFeed"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/buzz",
-      "https://www.googleapis.com/auth/buzz.readonly"
-     ]
-    },
-    "search": {
-     "id": "chili.people.search",
-     "path": "people/search",
-     "httpMethod": "GET",
-     "description": "Search for people",
-     "parameters": {
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "c": {
-       "type": "string",
-       "description": "A continuation token that allows pagination.",
-       "location": "query"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "max-results": {
-       "type": "integer",
-       "description": "Maximum number of results to include.",
-       "default": "20",
-       "minimum": "0",
-       "maximum": "4294967295",
-       "location": "query"
-      },
-      "q": {
-       "type": "string",
-       "description": "Full-text search query string.",
-       "location": "query"
-      }
-     },
-     "response": {
-      "$ref": "PeopleFeed"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/buzz",
-      "https://www.googleapis.com/auth/buzz.readonly"
-     ]
-    },
-    "update": {
-     "id": "chili.people.update",
-     "path": "people/{userId}/@groups/{groupId}/{personId}",
-     "httpMethod": "PUT",
-     "description": "Add a person to a group",
-     "parameters": {
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "groupId": {
-       "type": "string",
-       "description": "ID of the group to which to add the person.",
-       "required": true,
-       "location": "path"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "personId": {
-       "type": "string",
-       "description": "ID of the person to add to the group.",
-       "required": true,
-       "location": "path"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the owner of the group.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId",
-      "groupId",
-      "personId"
-     ],
-     "request": {
-      "$ref": "Person"
-     },
-     "response": {
-      "$ref": "Person"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/buzz"
-     ]
-    }
-   }
-  },
-  "photoAlbums": {
-   "methods": {
-    "delete": {
-     "id": "chili.photoAlbums.delete",
-     "path": "photos/{userId}/@self/{albumId}",
-     "httpMethod": "DELETE",
-     "description": "Delete a photo album",
-     "parameters": {
-      "albumId": {
-       "type": "string",
-       "description": "ID of the album to delete.",
-       "required": true,
-       "location": "path"
-      },
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user being referenced.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId",
-      "albumId"
-     ],
-     "scopes": [
-      "https://www.googleapis.com/auth/picasa"
-     ]
-    },
-    "get": {
-     "id": "chili.photoAlbums.get",
-     "path": "photos/{userId}/@self/{albumId}",
-     "httpMethod": "GET",
-     "description": "Get a photo album",
-     "parameters": {
-      "albumId": {
-       "type": "string",
-       "description": "ID of the album to get.",
-       "required": true,
-       "location": "path"
-      },
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user being referenced.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId",
-      "albumId"
-     ],
-     "response": {
-      "$ref": "Album"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/picasa"
-     ]
-    },
-    "insert": {
-     "id": "chili.photoAlbums.insert",
-     "path": "photos/{userId}/@self",
-     "httpMethod": "POST",
-     "description": "Create a photo album",
-     "parameters": {
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user being referenced.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId"
-     ],
-     "request": {
-      "$ref": "Album"
-     },
-     "response": {
-      "$ref": "Album"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/picasa"
-     ]
-    },
-    "list": {
-     "id": "chili.photoAlbums.list",
-     "path": "photos/{userId}/{scope}",
-     "httpMethod": "GET",
-     "description": "List a user's photo albums",
-     "parameters": {
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "c": {
-       "type": "string",
-       "description": "A continuation token that allows pagination.",
-       "location": "query"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "max-results": {
-       "type": "integer",
-       "description": "Maximum number of results to include.",
-       "default": "20",
-       "minimum": "0",
-       "maximum": "4294967295",
-       "location": "query"
-      },
-      "scope": {
-       "type": "string",
-       "description": "The collection of albums to list.",
-       "required": true,
-       "enum": [
-        "@self"
-       ],
-       "enumDescriptions": [
-        "Albums posted by the user."
-       ],
-       "location": "path"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user being referenced.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId",
-      "scope"
-     ],
-     "response": {
-      "$ref": "AlbumsFeed"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/picasa"
-     ]
-    }
-   }
-  },
-  "photos": {
-   "methods": {
-    "delete": {
-     "id": "chili.photos.delete",
-     "path": "photos/{userId}/@self/{albumId}/@photos/{photoId}",
-     "httpMethod": "DELETE",
-     "description": "Delete a photo",
-     "parameters": {
-      "albumId": {
-       "type": "string",
-       "description": "ID of the album to which to photo belongs.",
-       "required": true,
-       "location": "path"
-      },
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "photoId": {
-       "type": "string",
-       "description": "ID of the photo to delete.",
-       "required": true,
-       "location": "path"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user being referenced.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId",
-      "albumId",
-      "photoId"
-     ],
-     "scopes": [
-      "https://www.googleapis.com/auth/picasa"
-     ]
-    },
-    "get": {
-     "id": "chili.photos.get",
-     "path": "photos/{userId}/@self/{albumId}/@photos/{photoId}",
-     "httpMethod": "GET",
-     "description": "Get photo metadata",
-     "parameters": {
-      "albumId": {
-       "type": "string",
-       "description": "ID of the album containing the photo.",
-       "required": true,
-       "location": "path"
-      },
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "photoId": {
-       "type": "string",
-       "description": "ID of the photo for which to get metadata.",
-       "required": true,
-       "location": "path"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user being referenced.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId",
-      "albumId",
-      "photoId"
-     ],
-     "response": {
-      "$ref": "ChiliPhotosResourceJson"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/picasa"
-     ]
-    },
-    "insert": {
-     "id": "chili.photos.insert",
-     "path": "photos/{userId}/{albumId}",
-     "httpMethod": "POST",
-     "description": "Upload a photo to an album",
-     "parameters": {
-      "albumId": {
-       "type": "string",
-       "description": "ID of the album to which to upload.",
-       "required": true,
-       "location": "path"
-      },
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user being referenced.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId",
-      "albumId"
-     ],
-     "request": {
-      "$ref": "AlbumLite"
-     },
-     "response": {
-      "$ref": "AlbumLite"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/buzz"
-     ]
-    },
-    "insert2": {
-     "id": "chili.photos.insert2",
-     "path": "photos/{userId}/@self/{albumId}/@photos",
-     "httpMethod": "POST",
-     "description": "Upload a photo to an album",
-     "parameters": {
-      "albumId": {
-       "type": "string",
-       "description": "ID of the album to which to upload.",
-       "required": true,
-       "location": "path"
-      },
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user being referenced.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId",
-      "albumId"
-     ],
-     "request": {
-      "$ref": "ChiliPhotosResourceJson"
-     },
-     "response": {
-      "$ref": "ChiliPhotosResourceJson"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/picasa"
-     ]
-    },
-    "listByAlbum": {
-     "id": "chili.photos.listByAlbum",
-     "path": "photos/{userId}/@self/{albumId}/@photos",
-     "httpMethod": "GET",
-     "description": "List photos in an album",
-     "parameters": {
-      "albumId": {
-       "type": "string",
-       "description": "ID of the album for which to list photos.",
-       "required": true,
-       "location": "path"
-      },
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "c": {
-       "type": "string",
-       "description": "A continuation token that allows pagination.",
-       "location": "query"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "max-results": {
-       "type": "integer",
-       "description": "Maximum number of results to include.",
-       "default": "20",
-       "minimum": "0",
-       "maximum": "4294967295",
-       "location": "query"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user being referenced.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId",
-      "albumId"
-     ],
-     "response": {
-      "$ref": "PhotosFeed"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/picasa"
-     ]
-    },
-    "listByScope": {
-     "id": "chili.photos.listByScope",
-     "path": "photos/{userId}/@self/{scope}/@photos",
-     "httpMethod": "GET",
-     "description": "Get a user's photos",
-     "parameters": {
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "c": {
-       "type": "string",
-       "description": "A continuation token that allows pagination.",
-       "location": "query"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "max-results": {
-       "type": "integer",
-       "description": "Maximum number of results to include.",
-       "default": "20",
-       "minimum": "0",
-       "maximum": "4294967295",
-       "location": "query"
-      },
-      "scope": {
-       "type": "string",
-       "description": "The collection of photos to list.",
-       "required": true,
-       "enum": [
-        "@recent"
-       ],
-       "enumDescriptions": [
-        "Recent photos uploaded by the user."
-       ],
-       "location": "path"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user being referenced.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId",
-      "scope"
-     ],
-     "response": {
-      "$ref": "PhotosFeed"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/picasa"
-     ]
-    }
-   }
-  },
-  "related": {
-   "methods": {
-    "list": {
-     "id": "chili.related.list",
-     "path": "activities/{userId}/{scope}/{postId}/@related",
-     "httpMethod": "GET",
-     "description": "Get related links for an activity",
-     "parameters": {
-      "alt": {
-       "type": "string",
-       "description": "Specifies an alternative representation type.",
-       "default": "atom",
-       "enum": [
-        "atom",
-        "json"
-       ],
-       "enumDescriptions": [
-        "Use Atom XML format",
-        "Use JSON format"
-       ],
-       "location": "query"
-      },
-      "hl": {
-       "type": "string",
-       "description": "Language code to limit language results.",
-       "location": "query"
-      },
-      "postId": {
-       "type": "string",
-       "description": "ID of the activity to which to get related links.",
-       "required": true,
-       "location": "path"
-      },
-      "scope": {
-       "type": "string",
-       "description": "The collection to which the activity belongs.",
-       "required": true,
-       "enum": [
-        "@self"
-       ],
-       "enumDescriptions": [
-        "Activities posted by the user."
-       ],
-       "location": "path"
-      },
-      "userId": {
-       "type": "string",
-       "description": "ID of the user being referenced.",
-       "required": true,
-       "location": "path"
-      }
-     },
-     "parameterOrder": [
-      "userId",
-      "scope",
-      "postId"
-     ],
-     "response": {
-      "$ref": "RelatedFeed"
-     },
-     "scopes": [
-      "https://www.googleapis.com/auth/buzz",
-      "https://www.googleapis.com/auth/buzz.readonly"
-     ]
-    }
-   }
-  }
- }
-}
diff --git a/samples/localdiscovery/buzz.py b/samples/localdiscovery/buzz.py
deleted file mode 100644
index 411ad27..0000000
--- a/samples/localdiscovery/buzz.py
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/usr/bin/python2.4
-# -*- coding: utf-8 -*-
-#
-# Copyright 2010 Google Inc. All Rights Reserved.
-
-"""Simple command-line example for Buzz.
-
-Command-line application that retrieves the users
-latest content and then adds a new entry.
-"""
-
-__author__ = 'jcgregorio@google.com (Joe Gregorio)'
-
-from apiclient.discovery import build_from_document
-
-import httplib2
-import os
-import pprint
-
-def main():
-  http = httplib2.Http()
-
-  # Load the local copy of the discovery document
-  f = file(os.path.join(os.path.dirname(__file__), "buzz.json"), "r")
-  discovery = f.read()
-  f.close()
-
-  # Construct a service from the local documents
-  service = build_from_document(discovery,
-      base="https://www.googleapis.com/",
-      http=http)
-
-  pprint.pprint(service.activities().search(q='lady gaga').execute())
-
-
-if __name__ == '__main__':
-  main()
diff --git a/samples/new_project_template/apiclient b/samples/new_project_template/apiclient
deleted file mode 120000
index 24fe0bc..0000000
--- a/samples/new_project_template/apiclient
+++ /dev/null
@@ -1 +0,0 @@
-../appengine/apiclient
\ No newline at end of file
diff --git a/samples/new_project_template/app.yaml b/samples/new_project_template/app.yaml
deleted file mode 100644
index c0d43d5..0000000
--- a/samples/new_project_template/app.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
-application: jcg-testing-01
-version: 1
-runtime: python
-api_version: 1
-
-handlers:
-- url: /oauth2callback
-  script: oauth2client/appengine.py
-
-- url: .*
-  script: main.py
-
diff --git a/samples/new_project_template/gflags.py b/samples/new_project_template/gflags.py
deleted file mode 120000
index 5a2ff94..0000000
--- a/samples/new_project_template/gflags.py
+++ /dev/null
@@ -1 +0,0 @@
-../../gflags.py
\ No newline at end of file
diff --git a/samples/new_project_template/gflags_validators.py b/samples/new_project_template/gflags_validators.py
deleted file mode 120000
index 25d8ce8..0000000
--- a/samples/new_project_template/gflags_validators.py
+++ /dev/null
@@ -1 +0,0 @@
-../../gflags_validators.py
\ No newline at end of file
diff --git a/samples/new_project_template/httplib2 b/samples/new_project_template/httplib2
deleted file mode 120000
index 4cd2774..0000000
--- a/samples/new_project_template/httplib2
+++ /dev/null
@@ -1 +0,0 @@
-../appengine/httplib2
\ No newline at end of file
diff --git a/samples/new_project_template/index.yaml b/samples/new_project_template/index.yaml
deleted file mode 100644
index a3b9e05..0000000
--- a/samples/new_project_template/index.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
-indexes:
-
-# AUTOGENERATED
-
-# This index.yaml is automatically updated whenever the dev_appserver
-# detects that a new type of query is run.  If you want to manage the
-# index.yaml file manually, remove the above marker line (the line
-# saying "# AUTOGENERATED").  If you want to manage some indexes
-# manually, move them above the marker line.  The index.yaml file is
-# automatically uploaded to the admin console when you next deploy
-# your application using appcfg.py.
diff --git a/samples/new_project_template/main.py b/samples/new_project_template/main.py
deleted file mode 100755
index c451e67..0000000
--- a/samples/new_project_template/main.py
+++ /dev/null
@@ -1,131 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2007 Google Inc.
-#
-# 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.
-#
-"""Starting template for Google App Engine applications.
-
-Use this project as a starting point if you are just beginning to build a Google
-App Engine project. Remember to fill in the OAuth 2.0 client_id and
-client_secret which can be obtained from the Developer Console
-<https://code.google.com/apis/console/>
-"""
-
-__author__ = 'jcgregorio@google.com (Joe Gregorio)'
-
-
-import httplib2
-import logging
-import os
-import pickle
-
-from apiclient.discovery import build
-from oauth2client.appengine import CredentialsProperty
-from oauth2client.appengine import StorageByKeyName
-from oauth2client.client import OAuth2WebServerFlow
-from google.appengine.api import memcache
-from google.appengine.api import users
-from google.appengine.ext import db
-from google.appengine.ext import webapp
-from google.appengine.ext.webapp import template
-from google.appengine.ext.webapp import util
-from google.appengine.ext.webapp.util import login_required
-
-# Set up a Flow object to be used if we need to authenticate. This
-# sample uses OAuth 2.0, and we set up the OAuth2WebServerFlow with
-# the information it needs to authenticate. Note that it is called
-# the Web Server Flow, but it can also handle the flow for native
-# applications <http://code.google.com/apis/accounts/docs/OAuth2.html#IA>
-# The client_id and client_secret are copied from the Identity tab on
-# the Google APIs Console <http://code.google.com/apis/console>
-
-FLOW = OAuth2WebServerFlow(
-    client_id='<client id goes here>',
-    client_secret='<client secret goes here>',
-    scope='https://www.googleapis.com/auth/buzz',
-    user_agent='my-sample-app/1.0')
-
-
-class Credentials(db.Model):
-  credentials = CredentialsProperty()
-
-
-class MainHandler(webapp.RequestHandler):
-
-  @login_required
-  def get(self):
-    user = users.get_current_user()
-    credentials = StorageByKeyName(
-        Credentials, user.user_id(), 'credentials').get()
-
-    if not credentials or credentials.invalid:
-      return begin_oauth_flow(self, user)
-
-    http = credentials.authorize(httplib2.Http())
-
-    # Build a service object for interacting with the API. Visit
-    # the Google APIs Console <http://code.google.com/apis/console>
-    # to get a developerKey for your own application.
-    service = build("buzz", "v1", http=http)
-    followers = service.people().list(
-        userId='@me', groupId='@followers').execute()
-    text = 'Hello, you have %s followers!' % followers['totalResults']
-
-    path = os.path.join(os.path.dirname(__file__), 'welcome.html')
-    self.response.out.write(template.render(path, {'text': text }))
-
-
-def begin_oauth_flow(request_handler, user):
-  callback = request_handler.request.relative_url('/oauth2callback')
-  authorize_url = FLOW.step1_get_authorize_url(callback)
-  # Here we are using memcache to store the flow temporarily while the user
-  # is directed to authorize our service. You could also store the flow
-  # in the datastore depending on your utilization of memcache, just remember
-  # in that case to clean up the flow after you are done with it.
-  memcache.set(user.user_id(), pickle.dumps(FLOW))
-  request_handler.redirect(authorize_url)
-
-
-class OAuthHandler(webapp.RequestHandler):
-
-  @login_required
-  def get(self):
-    user = users.get_current_user()
-    flow = pickle.loads(memcache.get(user.user_id()))
-    # This code should be ammended with application specific error
-    # handling. The following cases should be considered:
-    # 1. What if the flow doesn't exist in memcache? Or is corrupt?
-    # 2. What if the step2_exchange fails?
-    if flow:
-      credentials = flow.step2_exchange(self.request.params)
-      StorageByKeyName(
-          Credentials, user.user_id(), 'credentials').put(credentials)
-      self.redirect("/")
-    else:
-      # Add application specific error handling here.
-      pass
-
-
-def main():
-  application = webapp.WSGIApplication(
-      [
-      ('/', MainHandler),
-      ('/oauth2callback', OAuthHandler)
-      ],
-      debug=True)
-  util.run_wsgi_app(application)
-
-
-if __name__ == '__main__':
-  main()
diff --git a/samples/new_project_template/oauth2 b/samples/new_project_template/oauth2
deleted file mode 120000
index ee61c25..0000000
--- a/samples/new_project_template/oauth2
+++ /dev/null
@@ -1 +0,0 @@
-../appengine/oauth2
\ No newline at end of file
diff --git a/samples/new_project_template/oauth2client b/samples/new_project_template/oauth2client
deleted file mode 120000
index 9013119..0000000
--- a/samples/new_project_template/oauth2client
+++ /dev/null
@@ -1 +0,0 @@
-../../oauth2client/
\ No newline at end of file
diff --git a/samples/new_project_template/uritemplate b/samples/new_project_template/uritemplate
deleted file mode 120000
index 1c98e41..0000000
--- a/samples/new_project_template/uritemplate
+++ /dev/null
@@ -1 +0,0 @@
-../appengine/uritemplate
\ No newline at end of file
diff --git a/samples/new_project_template/welcome.html b/samples/new_project_template/welcome.html
deleted file mode 100644
index 0117f50..0000000
--- a/samples/new_project_template/welcome.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<html>
-  <head>
-    <title>Bootcamp Translations</title>
-  </head>
-  <body>
-    <p>{{ text }}</p>
-  </body>
-</html>
diff --git a/samples/oauth2/django_sample/__init__.py b/samples/oauth2/django_sample/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/samples/oauth2/django_sample/__init__.py
+++ /dev/null
diff --git a/samples/oauth2/django_sample/buzz/__init__.py b/samples/oauth2/django_sample/buzz/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/samples/oauth2/django_sample/buzz/__init__.py
+++ /dev/null
diff --git a/samples/oauth2/django_sample/buzz/models.py b/samples/oauth2/django_sample/buzz/models.py
deleted file mode 100644
index 69c180c..0000000
--- a/samples/oauth2/django_sample/buzz/models.py
+++ /dev/null
@@ -1,33 +0,0 @@
-import pickle
-import base64
-
-from django.contrib import admin
-from django.contrib.auth.models import User
-from django.db import models
-
-from oauth2client.django_orm import FlowField
-from oauth2client.django_orm import CredentialsField
-
-# The Flow could also be stored in memcache since it is short lived.
-
-
-class FlowModel(models.Model):
-  id = models.ForeignKey(User, primary_key=True)
-  flow = FlowField()
-
-
-class CredentialsModel(models.Model):
-  id = models.ForeignKey(User, primary_key=True)
-  credential = CredentialsField()
-
-
-class CredentialsAdmin(admin.ModelAdmin):
-    pass
-
-
-class FlowAdmin(admin.ModelAdmin):
-    pass
-
-
-admin.site.register(CredentialsModel, CredentialsAdmin)
-admin.site.register(FlowModel, FlowAdmin)
diff --git a/samples/oauth2/django_sample/buzz/tests.py b/samples/oauth2/django_sample/buzz/tests.py
deleted file mode 100644
index 927cadf..0000000
--- a/samples/oauth2/django_sample/buzz/tests.py
+++ /dev/null
@@ -1,24 +0,0 @@
-"""
-This file demonstrates two different styles of tests (one doctest and one
-unittest). These will both pass when you run "manage.py test".
-
-Replace these with more appropriate tests for your application.
-"""
-
-from django.test import TestCase
-
-
-class SimpleTest(TestCase):
-
-    def test_basic_addition(self):
-        """
-        Tests that 1 + 1 always equals 2.
-        """
-        self.failUnlessEqual(1 + 1, 2)
-
-__test__ = {"doctest": """
-Another way to test that 1 + 1 is equal to 2.
-
->>> 1 + 1 == 2
-True
-"""}
diff --git a/samples/oauth2/django_sample/buzz/views.py b/samples/oauth2/django_sample/buzz/views.py
deleted file mode 100644
index 9a051ea..0000000
--- a/samples/oauth2/django_sample/buzz/views.py
+++ /dev/null
@@ -1,60 +0,0 @@
-import os
-import logging
-import httplib2
-
-from django.http import HttpResponse
-from django.core.urlresolvers import reverse
-from django.contrib.auth.decorators import login_required
-
-from oauth2client.django_orm import Storage
-from oauth2client.client import OAuth2WebServerFlow
-from django_sample.buzz.models import CredentialsModel
-from django_sample.buzz.models import FlowModel
-from apiclient.discovery import build
-
-from django.http import HttpResponseRedirect
-from django.shortcuts import render_to_response
-
-STEP2_URI = 'http://localhost:8000/auth_return'
-FLOW = OAuth2WebServerFlow(
-    client_id='837647042410.apps.googleusercontent.com',
-    client_secret='+SWwMCL9d8gWtzPRa1lXw5R8',
-    scope='https://www.googleapis.com/auth/buzz',
-    user_agent='buzz-django-sample/1.0',
-    )
-
-@login_required
-def index(request):
-  storage = Storage(CredentialsModel, 'id', request.user, 'credential')
-  credential = storage.get()
-  if credential is None or credential.invalid == True:
-
-    authorize_url = FLOW.step1_get_authorize_url(STEP2_URI)
-    f = FlowModel(id=request.user, flow=FLOW)
-    f.save()
-    return HttpResponseRedirect(authorize_url)
-  else:
-    http = httplib2.Http()
-    http = credential.authorize(http)
-    service = build("buzz", "v1", http=http)
-    activities = service.activities()
-    activitylist = activities.list(scope='@consumption',
-                                   userId='@me').execute()
-    logging.info(activitylist)
-
-    return render_to_response('buzz/welcome.html', {
-                'activitylist': activitylist,
-                })
-
-
-@login_required
-def auth_return(request):
-    try:
-      f = FlowModel.objects.get(id=request.user)
-      credential = f.flow.step2_exchange(request.REQUEST)
-      storage = Storage(CredentialsModel, 'id', request.user, 'credential')
-      storage.put(credential)
-      f.delete()
-      return HttpResponseRedirect("/")
-    except FlowModel.DoesNotExist:
-      pass
diff --git a/samples/oauth2/django_sample/manage.py b/samples/oauth2/django_sample/manage.py
deleted file mode 100755
index 0b932da..0000000
--- a/samples/oauth2/django_sample/manage.py
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/usr/bin/python
-from django.core.management import execute_manager
-try:
-    import settings # Assumed to be in the same directory.
-except ImportError:
-    import sys
-    sys.stderr.write("""Error: Can't find the file 'settings.py' in the
-directory containing %r. It appears you've customized things. You'll
-have to run django-admin.py, passing it your settings module.
-(If the file settings.py does indeed exist, it's causing an ImportError
-somehow.)\n""" % __file__)
-    sys.exit(1)
-
-if __name__ == "__main__":
-    execute_manager(settings)
diff --git a/samples/oauth2/django_sample/settings.py b/samples/oauth2/django_sample/settings.py
deleted file mode 100644
index 565d2e5..0000000
--- a/samples/oauth2/django_sample/settings.py
+++ /dev/null
@@ -1,83 +0,0 @@
-# Django settings for django_sample project.
-import os
-
-DEBUG = True
-TEMPLATE_DEBUG = DEBUG
-
-ADMINS = (
-    # ('Your Name', 'your_email@domain.com'),
-)
-
-MANAGERS = ADMINS
-
-DATABASE_ENGINE = 'sqlite3'
-DATABASE_NAME = 'database.sqlite3'
-DATABASE_USER = ''
-DATABASE_PASSWORD = ''
-DATABASE_HOST = ''
-DATABASE_PORT = ''
-
-# Local time zone for this installation. Choices can be found here:
-# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
-# although not all choices may be available on all operating systems.
-# If running in a Windows environment this must be set to the same as your
-# system time zone.
-TIME_ZONE = 'America/New_York'
-
-# Language code for this installation. All choices can be found here:
-# http://www.i18nguy.com/unicode/language-identifiers.html
-LANGUAGE_CODE = 'en-us'
-
-SITE_ID = 1
-
-# If you set this to False, Django will make some optimizations so as not
-# to load the internationalization machinery.
-USE_I18N = True
-
-# Absolute path to the directory that holds media.
-# Example: "/home/media/media.lawrence.com/"
-MEDIA_ROOT = ''
-
-# URL that handles the media served from MEDIA_ROOT. Make sure to use a
-# trailing slash if there is a path component (optional in other cases).
-# Examples: "http://media.lawrence.com", "http://example.com/media/"
-MEDIA_URL = ''
-
-# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
-# trailing slash.
-# Examples: "http://foo.com/media/", "/media/".
-ADMIN_MEDIA_PREFIX = '/media/'
-
-# Make this unique, and don't share it with anybody.
-SECRET_KEY = '_=9hq-$t_uv1ckf&s!y2$9g$1dm*6p1cl%*!^mg=7gr)!zj32d'
-
-# List of callables that know how to import templates from various sources.
-TEMPLATE_LOADERS = (
-    'django.template.loaders.filesystem.load_template_source',
-    'django.template.loaders.app_directories.load_template_source',
-#     'django.template.loaders.eggs.load_template_source',
-)
-
-MIDDLEWARE_CLASSES = (
-    'django.middleware.common.CommonMiddleware',
-    'django.contrib.sessions.middleware.SessionMiddleware',
-    'django.contrib.auth.middleware.AuthenticationMiddleware',
-)
-
-ROOT_URLCONF = 'django_sample.urls'
-
-TEMPLATE_DIRS = (
-    # Put strings here, like "/home/html/django_templates"
-    # Always use forward slashes, even on Windows.
-    # Don't forget to use absolute paths, not relative paths.
-    os.path.join(os.path.dirname(__file__), 'templates')
-)
-
-INSTALLED_APPS = (
-    'django.contrib.admin',
-    'django.contrib.auth',
-    'django.contrib.contenttypes',
-    'django.contrib.sessions',
-    'django.contrib.sites',
-    'django_sample.buzz'
-)
diff --git a/samples/oauth2/django_sample/static/go.png b/samples/oauth2/django_sample/static/go.png
deleted file mode 100644
index e5aacda..0000000
--- a/samples/oauth2/django_sample/static/go.png
+++ /dev/null
Binary files differ
diff --git a/samples/oauth2/django_sample/templates/buzz/login.html b/samples/oauth2/django_sample/templates/buzz/login.html
deleted file mode 100644
index 567bf68..0000000
--- a/samples/oauth2/django_sample/templates/buzz/login.html
+++ /dev/null
@@ -1,23 +0,0 @@
-{% block content %}
-
-{% if form.errors %}
-<p>Your username and password didn't match. Please try again.</p>
-{% endif %}
-
-<form method="post" action="{% url django.contrib.auth.views.login %}">
-<table>
-<tr>
-    <td>{{ form.username.label_tag }}</td>
-    <td>{{ form.username }}</td>
-</tr>
-<tr>
-    <td>{{ form.password.label_tag }}</td>
-    <td>{{ form.password }}</td>
-</tr>
-</table>
-
-<input type="submit" value="login" />
-<input type="hidden" name="next" value="{{ next }}" />
-</form>
-
-{% endblock %}
diff --git a/samples/oauth2/django_sample/templates/buzz/welcome.html b/samples/oauth2/django_sample/templates/buzz/welcome.html
deleted file mode 100644
index 07e8027..0000000
--- a/samples/oauth2/django_sample/templates/buzz/welcome.html
+++ /dev/null
@@ -1,33 +0,0 @@
-
-<html>
-  <head>
-    <title>Buzz Stuff</title>
-    <style type=text/css>
-      td  { vertical-align: top; padding: 0.5em }
-      img { border:0 }
-    </style>
-  </head>
-  <body>
-      <table border=0>
-      {% for item in activitylist.items %}
-      <tr valign=top>
-        <td>
-          {% if item.actor.thumbnailUrl %}
-            <a href="{{ item.actor.profileUrl }}">
-              <img src="{{ item.actor.thumbnailUrl }}">
-            </a>
-          {% endif %}
-          <br>
-          <a href="{{ item.actor.profileUrl }}">{{ item.actor.name }}</a></td>
-      <td>
-        {{ item.object.content|safe }}
-        </td>
-        <td>
-          <a href="{{ item.object.links.alternate.0.href }}"><img
-            src="/static/go.png"></a>
-        </td>
-      </tr>
-      {% endfor %}
-      </table>
-  </body>
-</html>
diff --git a/samples/oauth2/django_sample/urls.py b/samples/oauth2/django_sample/urls.py
deleted file mode 100644
index aeba620..0000000
--- a/samples/oauth2/django_sample/urls.py
+++ /dev/null
@@ -1,25 +0,0 @@
-import os
-from django.conf.urls.defaults import *
-
-# Uncomment the next two lines to enable the admin:
-from django.contrib import admin
-admin.autodiscover()
-
-urlpatterns = patterns('',
-    # Example:
-    (r'^$', 'django_sample.buzz.views.index'),
-    (r'^auth_return', 'django_sample.buzz.views.auth_return'),
-
-    # Uncomment the admin/doc line below and add 'django.contrib.admindocs'
-    # to INSTALLED_APPS to enable admin documentation:
-    # (r'^admin/doc/', include('django.contrib.admindocs.urls')),
-
-    # Uncomment the next line to enable the admin:
-    (r'^admin/', include(admin.site.urls)),
-    (r'^accounts/login/$', 'django.contrib.auth.views.login',
-                        {'template_name': 'buzz/login.html'}),
-
-    (r'^static/(?P<path>.*)$', 'django.views.static.serve',
-        {'document_root': os.path.join(os.path.dirname(__file__), 'static')
-}),
-)