The Dashboard in Google App Engine advises:
Use appcfg.py to upload applications from your computer to Google App Engine
The URL it directs you to: http://code.google.com/appengine/docs/appcfgpy.html which returns a 404 Not Found
Use http://code.google.com/appengine/docs/python/tools/uploadinganapp.html instead
It is amazing how much information can be displayed on even the smallest map, yet we sometimes forget that geographic content is not always available visually.If you're out and about, you can call GOOG-411 and get local information about businesses. Now we've made it even easier to orient yourself without a map in front of you: call GOOG-411, ask for 'details', and in addition to the address and phone number of the business, we'll also point you to the nearest street intersection or adjacent streets.You can try it now: call 1-800-466-4411, look up 'Google in New York', ask us for more 'details', and we'll tell you that our Chelsea office is 'near the intersection with West 16th Street'. Unless you're a seasoned New Yorker, this might very well save you from walking up or down a few blocks.The nearby intersections are available for most businesses in the US and Canada. They are derived automatically by an algorithm written on 20% time by Googlers in New York and London. Tell us other ways you would want to use this new feature -- we hope to expand it to other products soon!Posted by Vincent Vanhoucke, Research Scientist and Arnaud Sahuguet, Geo Product Manager
Despite a late night letting loose at the After Hours party, developers managed to wake up in time for the early morning Day 2 keynote (after having been promised yet another exciting surprise). This morning, we unveiled an early look at Google Wave, a new collaboration and communication product. Lars and Jens Rasmussen and Stephanie Hannon presented the vision behind Google Wave and a live demo of it in action. All Google I/O attendees will receive developer sandbox accounts to test out and build on the Google Wave APIs.To see Google Wave for yourself, check out the video of this morning's keynote:We'll leave you with a few more I/O photos, starting off with last night's After Hours party:Yesterday evening after I/O, developers let loose and relaxed at the After Hours party. Food, drinks, music, and games were enjoyed by all.One of the attractions at the Developer Playground area of the party. The Playground featured individuals & organizations doing creative projects with technology, art, games, music.Enjoying one of the arcade games at After Hours.Mike Relm performed during the evening, as well as DJ Scotty Boy.Day 2's keynote opened with Steven Canvin from LEGO® talking about the evolution of MINDSTORMS to an open source approach.Google Wave co-founder Lars Rasmussen talks about the vision behind the product.Brothers Lars and Jens Rasmussen co-founded Where 2 Technologies, which was acquired by Google and eventually became Google Maps.Stephanie Hannon, Google Wave's lead product manager, wows the audience with a live product demo.The Google Wave team watches the keynote from the front row. The team is based in Sydney.A view from the video crew desk. Videos and presentations from I/O sessions will be published on code.google.com/io in the coming days - stay tuned.A developer picks up his Android phone.The Sandbox interview room. The Google developer relations team conducted interviews with 3rd Party Sandbox exhibitors and will be posting them on the Google Code YouTube Channel in the coming days.A happy Aussie fish and kangaroo greet developers dropping by Office Hours for Google Wave.We hope to see you next year!By Christine Tsai, Google Developer Team
Despite a late night letting loose at the After Hours party, developers managed to wake up in time for the early morning Day 2 keynote (after having been promised yet another exciting surprise). This morning, we unveiled an early look at Google Wave, a new collaboration and communication product. Lars and Jens Rasmussen and Stephanie Hannon presented the vision behind Google Wave and a live demo of it in action. All Google I/O attendees will receive developer sandbox accounts to test out and build on the Google Wave APIs.To see Google Wave for yourself, check out the video of this morning's keynote:We'll leave you with a few more I/O photos, starting off with last night's After Hours party:Yesterday evening after I/O, developers let loose and relaxed at the After Hours party. Food, drinks, music, and games were enjoyed by all.One of the attractions at the Developer Playground area of the party. The Playground featured individuals & organizations doing creative projects with technology, art, games, music.Enjoying one of the arcade games at After Hours.Mike Relm performed during the evening, as well as DJ Scotty Boy.Day 2's keynote opened with Steven Canvin from LEGO® talking about the evolution of MINDSTORMS to an open source approach.Google Wave co-founder Lars Rasmussen talks about the vision behind the product.Brothers Lars and Jens Rasmussen co-founded Where 2 Technologies, which was acquired by Google and eventually became Google Maps.Stephanie Hannon, Google Wave's lead product manager, wows the audience with a live product demo.The Google Wave team watches the keynote from the front row. The team is based in Sydney.A view from the video crew desk. Videos and presentations from I/O sessions will be published on code.google.com/io in the coming days - stay tuned.A developer picks up his Android phone.The Sandbox interview room. The Google developer relations team conducted interviews with 3rd Party Sandbox exhibitors and will be posting them on the Google Code YouTube Channel in the coming days.A happy Aussie fish and kangaroo greet developers dropping by Office Hours for Google Wave.We hope to see you next year!By Christine Tsai, Google Developer Team
Google I/O is well underway, and we're excited that we've been able to highlight some Chrome Experiments at the event. During the keynote on Wednesday, we opened with the following video. Matt Waddell from our Developer team composed the music playing in the background. We're posting a subtitled version of the video, so you can enjoy the song in all it's HTML5 glory.We've loved the experiments we've received so far and encourage you to check out the ones listed below:
We're continually updating Chrome Experiments to feature new and crazy JavaScript experiments, so keep submitting!By Aaron Koblin, Google Chrome Team
Google I/O is well underway, and we're excited that we've been able to highlight some Chrome Experiments at the event. During the keynote on Wednesday, we opened with the following video. Matt Waddell from our Developer team composed the music playing in the background. We're posting a subtitled version of the video, so you can enjoy the song in all it's HTML5 glory.We've loved the experiments we've received so far and encourage you to check out the ones listed below:
We're continually updating Chrome Experiments to feature new and crazy JavaScript experiments, so keep submitting!By Aaron Koblin, Google Chrome Team
About a month ago we announced Mercurial support for early testers. Today, we are happy to announce that all Project Hosting users can create a new Mercurial project and convert their existing projects from Subversion to Mercurial. We also want to thank the projects that helped us test support for Mercurial. Projects like Clojure-Dev and Spice of Creation helped us discover new usage patterns and fix several unforeseen issues. Unlike our mature Subversion implementation, there are still a few issues/features that we are working on. We therefore encourage everyone to be familiar with what is supported before picking Mercurial.Please let us know if you have any feedback or find any issues. If you're coming to Google I/O, be sure to come meet us in person and hear our talk about Mercurial on Bigtable this Thursday at 3:45pm-4:45pm in Moscone West - Room 5. We have Mercurial SWAG!By Ali Pasha, Google Code Team
About a month ago we announced Mercurial support for early testers. Today, we are happy to announce that all Project Hosting users can create a new Mercurial project and convert their existing projects from Subversion to Mercurial. We also want to thank the projects that helped us test support for Mercurial. Projects like Clojure-Dev and Spice of Creation helped us discover new usage patterns and fix several unforeseen issues. Unlike our mature Subversion implementation, there are still a few issues/features that we are working on. We therefore encourage everyone to be familiar with what is supported before picking Mercurial.Please let us know if you have any feedback or find any issues. If you're coming to Google I/O, be sure to come meet us in person and hear our talk about Mercurial on Bigtable this Thursday at 3:45pm-4:45pm in Moscone West - Room 5. We have Mercurial SWAG!By Ali Pasha, Google Code Team
| Google Apps Standard Edition |
Google Apps Premier Edition |
Google Apps Education Edition* |
|
| Provisioning API | ![]() |
![]() |
|
| Reporting API | ![]() |
![]() |
|
| Email Migration API | ![]() |
![]() |
|
| Email Settings API | ![]() |
![]() |
|
| Single Sign-On service | ![]() |
![]() |
|
| Email gateway interface | ![]() |
![]() |
|
| Shared Contacts Data API | ![]() |
![]() |
|
| Contacts Data API | ![]() |
![]() |
![]() |
| Calendar Data API | ![]() |
![]() |
![]() |
| Documents List Data API | ![]() |
![]() |
![]() |
| Spreadsheets Data API | ![]() |
![]() |
![]() |
| 2-legged OAuth Google Data access | ![]() |
![]() |
|
| Gmail Atom feed | ![]() |
![]() |
![]() |
Google Apps and its APIs open up a wide variety of new opportunities to integrate and extend Google's communication and collaboration services. Domain adminstrators can use the APIs manage their domains, as well as migrate from and integrate with existing IT infrastructure. During adoption of Google Apps, the following APIs can be leveraged to migrate data from systems currently in use and to maintain stability in business processes through deep system integration.
This service interface allows you to plug in your own identity provider to authenticate users who are trying to access Google Apps services. By implementing the interface you retain ownership and management of user credentials and avoid requiring users to remember yet another password. It's based on the SAML v2.0 Standard XML-based framework for communicating user authentication information between business entities. The single sign-on service is only available in Google Apps Premier, Education and Partner Editions.
The Reporting API allows you to monitor the overall usage and utilization of Google Apps within your domain. Using this API, you can download a variety of CSV formatted reports about activity, storage, status, and more. This API is only available in Google Apps Premier, Education and Partner Editions.
The Reporting Visualiztion API allows you to monitor the overall usage and utilization of Google Apps within your domain. Using this API, you can visualize your reporting data with a variety of visualization gadgets provided by the developer community or custom visualizations for your specific needs. This API is only available in Google Apps Premier, Education and Partner Editions.
The Provisioning API provides a mechanism to programmatically create and manage Google Apps user accounts, nicknames, and groups. Using this API you can minimize disruption to your organization's current processes by synchronizing user data between Google Apps and your existing user management system. This API is only available in Google Apps Premier, Education and Partner Editions.
The Email Migration API enables you to migrate email from any data source into Google Apps. You can write extraction code which operates against an email server data store, interface protocol, or email client data store, then, using this API, upload the email messages to a target mailbox, specifying the correct labels, date, and status. The Email Migration API supports both end user tools and administrative tools. This API is only available in Google Apps Premier, Education and Partner Editions.
The application APIs use the Google data protocol to provide a simple way for reading and writing data on the web. An increasing number of Google services provide data APIs, so application developers should become familiar with the protocol. These APIs are based on the Atom and RSS syndication formats and the Atom publishing protocol, and also includes support for authentication, querying, and version conflict detection. Client applications can use any programming language that can issue HTTP requests and parse XML-based responses. Client libraries are avaialable in a variety of popular languages.
The Shared Contacts API allows client applications to retrieve and update contacts that are shared to all users in the Apps domain.
With the Google Contacts Data API, developers can create client applications to manage a user's Gmail contacts. Developers can use the API to synchronize a user's Google contacts with contacts on a mobile device, maintain relationships between people in social applications, and give users the ability to communicate directly with their friends from external applications using phone, email, and IM.
The Google Calendar data API allows client applications to create new events, edit or delete existing events, and query for events that match particular criteria. This is the same API that is available to all Google Calendar developers so Google Apps developers can leverage and participate in that growing community. However with Google Apps a whole new set of calendar-based business applications become possible. Google Calendar's calendar sharing feature is that much more important in growing organizations with lots of group interactions and overlapping schedules. A client application has access to its user's private and accessible shared and group calendars. Application developers can interact with these calendars by creating front end applications powered by their event information or by creating applications that publish event information to them.
The Google Documents List Data API allows client applications to manage a user's Google Documents (spreadsheets, word processor, presentations) using the Google Data protocol. Your client application can query a user's list of documents, manage folders, request or update the contents of a document, and upload, edit, or delete specific documents.
The Google Spreadsheets data API allows client applications to view and update spreadsheets content. This is the same API that is available to all Google Spreadsheets developers so Google Apps developers can leverage and participate in that growing community. Spreadsheets are at the heart of an increasing number of critical business applications ranging from modeling and analysis to communication and plannng. A client application can use this API to implement spreadsheet functionality or to extend the functionality provided by Google Spreadsheets. It can also simply use a spreadsheet as a database back end or it can publish data to a spreadsheet to provide users a more expressive view.
The Email Settings API enables you to modify user-level Google Mail settings for any of the users at your domain. Using this API, you can change a user's forwarding, POP, or IMAP settings, set up an alias for them to send e-mail as, and more. This API is only available in Google Apps Premier, Education and Partner Editions.
While OAuth authentication is available to all developers wishing to access the Google Data APIs, Premier and Education Edition administrators can enable a special kind of OAuth, called 2-legged OAuth. 2-legged OAuth allows administrators to act on behalf of end-users without their involvement and without requiring an access token as per the normal authorization flow (3-legged OAuth). As an example, administrators can use this feature to upload new documents to a user's account, add events to their Google Calendar, or create a new contact in their address book, all without the end-user's involvement.
Apps developers can utilize Gmail's Atom feed to request read-only access to a user's unread messages. To obtain access, you can use AuthSub or OAuth by requesting a token with scope=https://mail.google.com/mail/feed/atom/.
I spent my youth writing games on a computer hooked up to my parents' television but despite saving my pennies to buy a 300-baud modem, I was never able to realize my dream of writing a game that my best friend and I could play against each other on two computers. In all my games the I,J,K and M keys were used by player 1 while player 2 was stuck with W,A,S and Z on the same keyboard.This was in the back of my mind when I started putting my 20% time towards building a simple javascript library on top of our Google Talk web client. After some demos, my 20% project grew to an 80% project, and we're now ready to show off -- and get feedback on -- the gadgets.realtime set of APIs. These APIs will let Google gadgets hosted in different user's browsers communicate with each other. The first API, gadgets.sharedstate, is available on the new Talk Developer Sandbox. With this API, you can share an object between instances of a gadget, and be notified in realtime when the other instance modifies it. More APIs and UI improvements to allow gadgets.realtime gadgets to be used on orkut and iGoogle are in the works and coming soon.For more information and for sample applications, see the documentation.We've set up a discussion group to collect feedback. So, help me out, fellow geeks! Try out this API and let me know what you think and share any cool gadgets you write.Moishe Lettvin, Software Engineer