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')
-}),
-)