Wednesday, March 11, 2015
Download or print Google docs viewer file
After few minutes, the only solution possible was:
1. Open Firefox
2. Install "downthemall"
3. Scroll through all the file so all the images render
4. Select "DownThemAll" from the blank space in the centre of the page

Got all the images to my local disk, so then just selected them all and print (now this is really good feature in Windows 7, congratulations MS).
Using Google Document List APIs to build Memeo Connect for Google Docs

Google Documents List API https://docs.google.com/feeds/default/private/full?convert=false |
Google Data Objective-C client library** NSURL *uploadURL = [[mDocListFeed postLink] URL]; GDataQueryDocs *uploadQuery = [GDataQueryDocs queryWithFeedURL:uploadURL]; [uploadQuery setShouldConvertUpload:NO]; |
Google Data .NET client library string uploadURL = DocumentsListQuery.documentsBaseUri + "?convert=false"; docService.StreamSend(new Uri(uploadURL), fileStreamHandle, GDataRequestType.Insert, contentType, docTitle); |
Google Documents List API http://code.google.com/apis/documents/docs/3.0/developers_guide_protocol.html#ResumableUpload Resumable post link: resumable-create-media" type="application/atom+xml" href="https://docs.google.com/feeds/upload/create-session/default/private/full"/> Request: POST /feeds/upload/create-session/default/private/full HTTP/1.1 Host: docs.google.com GData-Version: 3.0 Authorization: Content-Length: 0 Content-Type: application/pdf Slug: MyTitle X-Upload-Content-Type: application/pdf X-Upload-Content-Length: 1234567 Resuming: POST Host: docs.google.com Content-Length: 100000 Content-Type: application/pdf Content-Range: bytes 0-99999/1234567 |
Google Data Objective-C client library** Resumable uploads are automatically enabled when switching to the uploadLink URL NSURL *uploadURL = [[mDocListFeed uploadLink] URL]; GDataQueryDocs * uploadQuery = [GDataQueryDocs queryWithFeedURL:uploadURL]; Pausing and resuming uploads is also made easy. [mUploadTicket pauseUpload]; [mUploadTicket resumeUpload]; |
Google Data .NET client library ResumableUploader resumableUploader = new ResumableUploader(); if (newFile) resumableUploader.Insert(authentication, docEntry); else if (partialFile) resumableUploader.Resume(authentication, resumeUri, httpMethod, fileStream, cotentType); else if (updateExistingFile) resumableUploader.Update(authentication, docEntry); |
NSURL *uploadURL = [[mDocListFeed postLink] URL]; GDataQueryDocs *uploadQuery = [GDataQueryDocs queryWithFeedURL:uploadURL]; [uploadQuery addCustomParameterWithName:@"convert" value:@"false"]; |
Sunday, March 8, 2015
Build add ons for Google Docs and Sheets
Weve just announced Google Docs and Sheets add-ons — new tools created by developers like you that give Google users even more features in their documents and spreadsheets. Joining the launch are more than 60 add-ons that partners have built using Apps Script. Now, were opening up the platform in a developer-preview phase. If you have a cool idea for Docs and Sheets users, wed love to publish your code in the add-on store and get it in front of millions of users.
To browse through add-ons for Docs and Sheets, select Get add-ons in the Add-ons menu of any document or spreadsheet. (Add-ons for spreadsheets are only available in the new Google Sheets).

Under the hood
Docs and Sheets add-ons are powered by Google Apps Script, a server-side JavaScript platform that requires zero setup. Even though add-ons are in developer preview right now, the tools and APIs are available to everyone. The only restriction is on final publication to the store.
Once you have a great working prototype in Docs or Sheets, please apply to publish. Scripts that are distributed as add-ons gain a host of benefits:
- Better discovery: Apps Script has long been popular among programmers and other power users, but difficult for non-technical users to find and install. Add-ons let you distribute your code through a polished storefront—as well as direct links and even Google search results.
- Sharing: When two people collaborate on a document and one of them uses an add-on, it appears in the Add-ons menu for both to see. Similarly, once you get an add-on from the store, it appears in the menu in every document you create or open, although your collaborators will only see it in documents where you use it. For more info on this sharing model, see the guide to the add-on authorization lifecycle.
- Automatic updates: When you republish an add-on, the update pushes out automatically to all your users. Theres no more hounding people to switch to the latest version.
- Share functionality without sharing code: Unlike regular Apps Script projects, add-ons dont expose your source code for all to see. Thats reassuring both to less-technical users and to the keepers of your codebases secrets.
- Enterprise features: If your company has its own Google Apps domain, you can publish add-ons restricted just to your employees. This private distribution channel is a great way for organizations that run on Google Apps to solve their own unique problems.
Beautiful, professional appearance
Thanks to hard work from our developer partners, the add-ons in the store look and feel just like native features of Google Docs and Sheets. Were providing a couple of new resources to help all developers achieve the same visual quality: a CSS package that applies standard Google styling to typography, buttons, and other form elements, and a UI style guide that provides great guidance on designing a Googley user experience.
A replacement for the script gallery
Add-ons are available in the new version of Google Sheets as a replacement for the older versions script gallery. If you have a popular script in the old gallery, nows a great time to upgrade it to newer technology.
We cant wait to see the new uses youll dream up for add-ons, and were looking forward to your feedback on Google+ and questions on Stack Overflow. Better yet, if youre free at noon Eastern time this Friday, join us live on YouTube for a special add-on-centric episode of Apps Unscripted.
Dan Lazin profile | twitter Dan is a technical writer on the Developer Relations team for Google Apps Script. Before joining Google, he worked as video-game designer and newspaper reporter. He has bicycled through 17 countries. |