diff --git a/samples/latitude/latitude.py b/samples/latitude/latitude.py new file mode 100644 index 0000000..492300c --- /dev/null +++ b/samples/latitude/latitude.py @@ -0,0 +1,45 @@ +#!/usr/bin/python2.4 +# -*- coding: utf-8 -*- +# +# Copyright 2010 Google Inc. All Rights Reserved. + +"""Simple command-line example for Latitude. + +Command-line application that sets the users +current location. +""" + +__author__ = 'jcgregorio@google.com (Joe Gregorio)' + + +from apiclient.discovery import build + +import httplib2 +import pickle + +# Uncomment to get detailed logging +# httplib2.debuglevel = 4 + +def main(): + f = open("latitude.dat", "r") + credentials = pickle.loads(f.read()) + f.close() + + http = httplib2.Http() + http = credentials.authorize(http) + + p = build("latitude", "v1", http=http) + + body = { + "data": { + "kind":"latitude#location", + "latitude":37.420352, + "longitude":-122.083389, + "accuracy":130, + "altitude":35 + } + } + print p.currentLocation().insert(body=body).execute() + +if __name__ == '__main__': + main() diff --git a/samples/latitude/three_legged_dance.py b/samples/latitude/three_legged_dance.py new file mode 100644 index 0000000..d8d89ba --- /dev/null +++ b/samples/latitude/three_legged_dance.py @@ -0,0 +1,62 @@ +# Copyright (C) 2010 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. + +"""Do the OAuth 1.0a three legged dance. + +Do the OAuth 1.0a three legged dance for +a Buzz command line application. Store the generated +credentials in a common file that is used by +other example apps in the same directory. +""" + +__author__ = 'jcgregorio@google.com (Joe Gregorio)' + +from apiclient.discovery import build +from apiclient.oauth import FlowThreeLegged + +import pickle + +moderator_discovery = build("latitude", "v1").auth_discovery() + +flow = FlowThreeLegged(moderator_discovery, + # You MUST have a consumer key and secret tied to a + # registered domain to use the latitude API. + # + # https://www.google.com/accounts/ManageDomains + consumer_key='REGISTERED DOMAIN NAME', + consumer_secret='KEY GIVEN DURING REGISTRATION', + user_agent='google-api-client-python-latitude-cmdline/1.0', + domain='REGISTERED DOMAIN NAME', + scope='https://www.googleapis.com/auth/latitude', + xoauth_displayname='Google API Latitude Client Example App', + location='current', + granularity='city' + ) + +authorize_url = flow.step1_get_authorize_url() + +print 'Go to the following link in your browser:' +print authorize_url +print + +accepted = 'n' +while accepted.lower() == 'n': + accepted = raw_input('Have you authorized me? (y/n) ') +verification = raw_input('What is the verification code? ').strip() + +credentials = flow.step2_exchange(verification) + +f = open('latitude.dat', 'w') +f.write(pickle.dumps(credentials)) +f.close()