Tag Archives: Google Apps

Saying Goodbye to the GData Admin Settings API

Posted by Shashank Gupta, Product Manager, Google Apps for Work and Wesley Chun, Developer Advocate, Google Apps

Back in 2013, we launchedthe Google Apps Admin SDK, and later announced as a result that several outdated Apps Admin APIs would be deprecated and shut down in April 2015. Today, we are continuing this effort of removing older, less-used functionality by announcing the deprecation of the GData Admin Settings API. Some GData API functionality will find a replacement from an Admin SDK counterpart, while other features will be discontinued. The following table summarizes which features will be retained (and where to access replacement functionality) and which won’t:

Admin Settings API

Endpoint

Post-Deprecation Replacement (if any)

General Settings

/defaultLanguage

Customer API

/organizationName

Customer API

/currentNumberOfUsers

no replacement / discontinued

/maximumNumberOfUsers

no replacement / discontinued

Account Settings

/accountInformation/supportPIN

no replacement / discontinued

/accountInformation/customerPIN

no replacement / discontinued

/accountInformation/adminSecondaryEmail

Customer API

/accountInformation/edition

no replacement / discontinued

/accountInformation/creationTime

Customer API

/accountInformation/countryCode

Customer API

Appearance Settings

All endpoints

no replacement / discontinued

Verification Settings

All endpoints

no replacement / discontinued

Single Sign-on (SSO) Settings

All endpoints

replacement API coming soon

Gateway and Routing Settings

All endpoints

no replacement / discontinued

To summarize, the GData Admin Settings API is being deprecated today and will remain operational for one year to give developers time to migrate. This means that on August 16, 2017, this deprecated API will be shut down. At that time, all calls to the API and any features in your applications that depend on it will no longer work. Please migrate as soon as possible.

Enhanced third-party access protection for Google Sheets

Posted by Tom Holman, Product Manager, Google Sheets and Josh Danziger, Software Engineer, Google Sheets

At Google, we are always working to keep our users' information safe. As part of these ongoing efforts, we will begin requiring explicit authorization when third-party sites request access to Google Sheets content via the Google Visualization API or Google Query Language.

For many developers, this change will be transparent, but others may need to make changes in order to continue reading spreadsheet data. For more details on the technical changes required, please visit the Google Charts API Documentation. We will begin enforcing these requirements on September 14, 2016.

If you have any questions or concerns about this change, please follow up in the Google Docs forum or on Stack Overflow.

Announcing Android add-ons for Docs and Sheets



We know many of you consider your mobile device as your primary tool to consume business information, but what if you could use it to get more work done, from anywhere? We’re excited to introduce Android add-ons for Docs and Sheets, a new way for you to do just that—whether it’s readying a contract you have for e-signature from your phone, or pulling in CRM data on your tablet for some quick analysis while waiting for your morning coffee, Android add-ons can help you accomplish more.

Get more done with your favorite third-party apps, no matter where you are

We’ve worked with eight integration partners who have created seamless integrations for Docs and Sheets. Here’s a preview of just a few of them:
  • DocuSign - Trigger or complete a signing process from Docs or Sheets, and save the executed document to Drive. Read more here.
DocuSign lets you easily create signature envelopes right from Google Docs
  • ProsperWorks - Import your CRM data to create and update advanced dashboards, reports and graphs on Sheets, right from your device. Read more here.
  • AppSheet - Create powerful mobile apps directly from your data in Sheets instantly — no coding required. Read more here.
  • Scanbot - Scan your business documents using built-in OCR, and insert their contents into Docs as editable text. Read more here.


You can find these add-ons and many more, including PandaDoc, ZohoCRM, Teacher Aide, EasyBib and Classroom in our Google Play collection as well as directly from the add-on menus in Docs or Sheets.


Try them out today, and see how much more you can do.

Calling all developers: try our developer preview today!

As you can see from above, Android add-ons offer a great opportunity to build innovative integrations and reach Docs and Sheets users around the world. They’re basically Android apps that connect with Google Apps Script projects on the server-side, allowing them to access and manipulate data from Google Docs or Sheets using standard Apps Script techniques. Check out our documentation which includes UI guidelines as well as sample code to get you started. We’ve also made it easy for you to publish your apps with the Apps Script editor.

Android add-ons are available today as a developer preview. We look forward to seeing what you build!

Colossal Media and the art of collaboration: Sheets to the streets


Editor's note: Today Google Sheets unveiled an original artwork in NYC , designed entirely in Sheets by two artists working together from different continents. To turn their artwork into reality, we worked with Colossal Media, a Brooklyn-based company and Google Apps customer that hand-paints murals all over the world. At Google, we’re always inspired by innovative uses of our collaboration tools, so we spoke with Colossal co-founder Adrian Moeller to learn what inspires him.

Can you tell us about Colossal Media and what drove you and your co-founder to start the company?
Colossal was founded in 2004 to bring hand-painted advertising back. It was tough to get clients at the beginning because nobody wanted to hand-paint anything, it was a completely dead industry. So we built a sustainable business out of a startup, guerrilla-style beginning.

Why hand-painted advertising?
Hand-paint is in your face. It’s exciting. Being high up on buildings and painting on rigs, I thought it was the coolest thing in the world. Now we’re working on 400 of these projects a year.

When did you start using Google Apps?
Colossal has been using Gmail as our corporate email platform for about 10 years and in around 2008, we began to use Google Apps.

What made you choose Google Apps?
From a logistical standpoint, it made the most sense. We’re physically all over the place. We all work from different locations (offices in New York, co-workers in California, painters working out in the field across the globe) and needed a solid solution for communication and information exchange. Apps makes it easy to share concepts and ideas.

Which apps do you use most and why?
Google Drive is super helpful for Colossal. It helps keep all projects organized and managed. It’s also nice having a sharing tool to use that can be kept private.

We also use Sheets, Forms, Hangouts and Docs. From the shop perspective, Sheets is a great web-based solution that helps us create database systems for organizing, compiling and calculating job information during pre-production. Sheets also helps us deliver accurate, up-to-date information to our crew and clients who are in several locations around the city on any given day. Forms let us collect feedback from the field and gather Peer Evaluations and End-of-Job details.

How has Google Apps changed the way you work?
As Colossal has grown as a company, communication has become harder because it’s not always face to face. Google Apps has made communicating from anywhere more streamlined and efficient. The flexibility to have instant, easy access to everything we need to get the job done — whether we’re on site for a paint job or in the office across the country — from colleagues we’re collaborating with has helped us scale. When you work outdoors and wrestle with the elements, anything can happen when you least expect it. Google Apps brings all of our information to us wherever we are, whenever we need it. It’s also great that we’re able to go back and find things from eight years ago and look at it. It’s like a treasure trove of memories that travels with you.

Reminder: Turn down of Google Drive web hosting coming soon

Posted by Hodie Meyers, Product Manager, Google Drive and Steve Bazyl, Developer Programs Engineer, Google Apps

Last year, we announcedthe deprecation of Google Drive web hosting for users and developers, and that the service will be shut down on August 31, 2016. We’d like to remind remaining users that websites hosted via googledrive.com/host/[id] will become unavailable from that date.

For those who haven’t switched yet, please consider the following alternatives.

  • Google Drive API: If you’re using the web hosting feature to provide logged-in users access to public Drive items, you can use the API instead.
  • Firebase Hosting: If you’re using the web hosting feature to provide users access to static web pages whose content lives on Drive, you can migrate to Firebase by uploading the content to Firebase and serving pages via Firebase-specific URLs. Please see this video to learn more!

Gmail API: New endpoints for settings

Posted by Brandon Jewett-Hall, Software Engineer, Gmail and Wesley Chun, Developer Advocate, Google Apps

If you've been pining for a way to update your users' email signatures with a different inspirational quote each day or enable "Out of Office" auto-replies when their calendars are marked as busy, then you're in luck. Today, we're extending the Gmail APIwith new endpoints for managing settings. These new endpoints cover the following features:

  • Filters
  • Forwarding addresses and auto-forwarding
  • IMAP and POP settings
  • Send-as aliases
  • Signatures
  • Vacation responder

With this update, we're equipping developers with some new tools that have never been available in any previous Google API. These include the ability to:

  • Retrieve and update signatures for send-as aliases
  • Configure forwarding to external addresses
  • Configure send-as aliases that send mail through external providers
  • Use HTML in vacation messages
  • Manipulate settings for gmail.com accounts

Over time we'll continue to expand the API with additional settings features such as support for managing mailbox delegates, so stay tuned for more announcements.

Get started now

Most of the settings endpoints are available for any Google Apps or Gmail account, but a few sensitive operations, such as modifying send-as aliases or forwarding, are restricted to service accounts with domain-wide authority. See the reference docsfor more details and to get started.

What about the existing Email Settings API in the Admin SDK?

This update to the Gmail API effectively replaces the older Email Settings API, so we're also announcing its deprecation today and will turn it down fully on July 7, 2017. We've put together a migration guide to assist clients in porting their existing integrations over to their newer counterparts in the Gmail API. If you have any issues, check out the gmail-api tag on StackOverflow.

We look forward to seeing what you build with these new features in the Gmail API!

Introducing the Google Sheets API v4: Transferring data from a SQL database to a Sheet

Posted by Wesley Chun (@wescpy), Developer Advocate, Google Apps

At Google I/O 2016, we launched a new Google Sheets API—click hereto watch the entire announcement. The updated API includes many new features that weren’t available in previous versions, including access to functionality found in the Sheets desktop and mobile user interfaces. My latest DevBytevideo shows developers how to get data into and out of a Google Sheet programmatically, walking through a simple script that reads rows out of a relational database and transferring the data to a brand new Google Sheet.

Let’s take a sneak peek of the code covered in the video. Assuming that SHEETS has been established as the API service endpoint, SHEET_ID is the ID of the Sheet to write to, and datais an array with all the database rows, this is the only call developers need to make to write that raw data into the Sheet:


SHEETS.spreadsheets().values().update(spreadsheetId=SHEET_ID,
range='A1', body=data, valueInputOption='RAW').execute()
Reading rows out of a Sheet is even easier. With SHEETS and SHEET_ID again, this is all you need to read and display those rows:
rows = SHEETS.spreadsheets().values().get(spreadsheetId=SHEET_ID,
range='Sheet1').execute().get('values', [])
for row in rows:
print(row)

If you’re ready to get started, take a look at the Python or other quickstarts in a variety of languages before checking out the DevByte. If you want a deeper dive into the code covered in the video, check out the post at my Python blog. Once you get going with the API, one of the challenges developers face is in constructing the JSON payload to send in API calls—the common operations samples can really help you with this. Finally, if you’re ready to get going with a meatier example, check out our JavaScript codelab where you’ll write a sample Node.js app that manages customer orders for a toy company, the database of which is used in this DevByte, preparing you for the codelab.

We hope all these resources help developers create amazing applications and awesome tools with the new Google Sheets API! Please subscribe to our channel, give us your feedback below, and tell us what topics you would like to see in future episodes!

Auto-generating Google Forms

Posted by Wesley Chun (@wescpy), Developer Advocate, Google Apps


 function createForm() {  
// create & name Form
var item = "Speaker Information Form";
var form = FormApp.create(item)
.setTitle(item);

// single line text field
item = "Name, Title, Organization";
form.addTextItem()
.setTitle(item)
.setRequired(true);

// multi-line "text area"
item = "Short biography (4-6 sentences)";
form.addParagraphTextItem()
.setTitle(item)
.setRequired(true);

// radiobuttons
item = "Handout format";
var choices = ["1-Pager", "Stapled", "Soft copy (PDF)", "none"];
form.addMultipleChoiceItem()
.setTitle(item)
.setChoiceValues(choices)
.setRequired(true);

// (multiple choice) checkboxes
item = "Microphone preference (if any)";
choices = ["wireless/lapel", "handheld", "podium/stand"];
form.addCheckboxItem()
.setTitle(item)
.setChoiceValues(choices);
}

If you’re ready to get started, you can find more information, including another intro code sample, in the Google Forms reference section of the Apps Script docs. In the video, I challenge viewers to enhance the code snippet above to read in “forms data” from an outside source such as a Google Sheet, Google Doc, or even an external database (accessible via Apps Script’s JDBC Service) to generate multiple Forms with. What are other things you can do with Forms?

One example is illustrated by this Google Docs add-on I created for users to auto-generate Google Forms from a formatted Google Doc. If you’re looking to do integration with a variety of Google services, check out this advanced Forms quickstart that uses Google Sheets, Docs, Calendar, and Gmail! Finally, Apps Script also powers add-ons for Google Forms. To learn how to write those, check out this Forms add-on quickstart.

We hope the DevByte and all these examples inspire you to create awesome tools with Google Forms, and taking the manual creation burden off your shoulders! If you’re new to the Launchpad Online developer series, we share technical content aimed at novice Google developers, as well as discuss the latest tools and features to help you build your app. Please subscribe to our channel, give us your feedback below, and tell us what topics you would like to see in future episodes!

Auto-generating Google Forms

Posted by Wesley Chun (@wescpy), Developer Advocate, Google Apps


 function createForm() {  
// create & name Form
var item = "Speaker Information Form";
var form = FormApp.create(item)
.setTitle(item);

// single line text field
item = "Name, Title, Organization";
form.addTextItem()
.setTitle(item)
.setRequired(true);

// multi-line "text area"
item = "Short biography (4-6 sentences)";
form.addParagraphTextItem()
.setTitle(item)
.setRequired(true);

// radiobuttons
item = "Handout format";
var choices = ["1-Pager", "Stapled", "Soft copy (PDF)", "none"];
form.addMultipleChoiceItem()
.setTitle(item)
.setChoiceValues(choices)
.setRequired(true);

// (multiple choice) checkboxes
item = "Microphone preference (if any)";
choices = ["wireless/lapel", "handheld", "podium/stand"];
form.addCheckboxItem()
.setTitle(item)
.setChoiceValues(choices);
}

If you’re ready to get started, you can find more information, including another intro code sample, in the Google Forms reference section of the Apps Script docs. In the video, I challenge viewers to enhance the code snippet above to read in “forms data” from an outside source such as a Google Sheet, Google Doc, or even an external database (accessible via Apps Script’s JDBC Service) to generate multiple Forms with. What are other things you can do with Forms?

One example is illustrated by this Google Docs add-on I created for users to auto-generate Google Forms from a formatted Google Doc. If you’re looking to do integration with a variety of Google services, check out this advanced Forms quickstart that uses Google Sheets, Docs, Calendar, and Gmail! Finally, Apps Script also powers add-ons for Google Forms. To learn how to write those, check out this Forms add-on quickstart.

We hope the DevByte and all these examples inspire you to create awesome tools with Google Forms, and taking the manual creation burden off your shoulders! If you’re new to the Launchpad Online developer series, we share technical content aimed at novice Google developers, as well as discuss the latest tools and features to help you build your app. Please subscribe to our channel, give us your feedback below, and tell us what topics you would like to see in future episodes!

Introducing New and Notable apps in the Google Apps Marketplace

Originally posted on Google for Work blog


For six years, the Google Apps Marketplace has helped businesses do more by being the number one source to find third-party apps and integrations that extend what they can do with Google Apps. But with hundreds of popular apps to choose from, it’s sometimes hard for customers to discover the newest and most innovative ones that will help them attain their goals. Enter New & Notable, a new section in the Google Apps Marketplace that surfaces the latest and best third-party apps and integrations for Google Apps, and the developers behind them.
Here’s a preview of some of the products highlighted this month:
  • Asana Dashboard: The new Asana Dashboard integrates with Google Sheets, allowing users to export task completion and performance information for wider tracking across teams. Read more here.
  • Hubspot CRM: With the new HubSpot CRM app, users can now log emails sent from Gmail into HubSpot with one click, and automatically sync meetings between Google Calendar and HubSpot, no matter which system they came from. Read more here.
  • Xero: With their latest integration, Xero a provider of online accounting software for small businesses lets users view Gmail messages alongside Xero transaction and activity details. Users can also save emails in Xero for reference, start a quote or invoice from within a Gmail message. Read more here.
  • Zendesk: With their latest integration, Zendesk automates the Google Apps admin tasks of forwarding support e-mails into Zendesk and listing Google users within Zendesk. Read more here.
  • Zoho People: Zoho People is a new HR management app for small businesses that lets users manage their HR portal directly from their Google Apps account, as well as add users directly to Zoho People, saving them from having to manually re-enter employee information. Read more here.

Find these apps and many more (like AppSheet, GQueues, ZipBooks, Any.Do, Infogram, and LogoMix) in New & Notable. And if you’re a developer, learn more about how you can get your apps featured on Google Apps Marketplace here.