\n    

Please click on this link to validate your email address:

\n    

https://mydomain.com/validate?id=abc123

\n  \n\n\"\"\"\n\n# Instantiate the Mandrill client with your API Key\nmandrill_client = mandrill.Mandrill(API_KEY)\n\nmessage = {\n 'html': HTML_CONTENT,\n 'subject': SUBJECT,\n 'from_email': FROM_ADDRESS,\n 'to': [{'email': TO_ADDRESS}],\n}\n\nresult = mandrill_client.messages.send(message=message)\n","To run this app, just replace the API key with the credentials from your Mandrill account and configure the sender and recipient addresses. You should also edit the HTML content to provide your action handler URL, and customize the messaging if you want.","You can use Actions in the Inbox to reduce the friction and increase the conversion rate. Please note that you are not limited to validating email addresses: you can also review products and services, reply to event invitations, and much more.","For more information, please visit our documentation at https://developers.google.com/gmail/actions. You can also ask questions on Stack Overflow, with the tag google-schemas.","Claudio Cherubino","   "," | ","twitter","blog","Claudio is an engineer in the Gmail Developer Relations team. Prior to Google, he worked as software developer, technology evangelist, community manager, consultant, technical translator and has contributed to many open-source projects. His current interests include Google APIs, new technologies and coffee.","\n\nLabels:\n\n\n\nGmail APIs\n\n\n","\nTotal Eclipse of the Apps Script\n","\nOctober 16, 2013\n","Apps Script started out as a simple tool to let developers add new features to Google Apps, but it’s grown into a programming platform that thousands of professional coders use every day. We hear a couple common requests from developers when they’re building complex projects with Apps Script: they want a full-featured IDE, and they want to sync to external version-control systems like GitHub.","Today, we’re introducing support for Apps Script in the Google Plugin for Eclipse. You can now sync with your existing Apps Script files on Google Drive, edit them in Eclipse — offline, if necessary, and with all the benefits of autocomplete — then write your code back to Drive so you can run it in the cloud. Because the plugin stores a copy of each script in a local workspace, you can manage Apps Script projects with your favorite version-control system.","Getting started is easy:","Install Eclipse, if you don’t already use it. If you already have Eclipse, make sure it’s at least version 3.7 (Indigo) for either Java or Java EE.","In Eclipse, select Help > Eclipse Marketplace, then install the Google Plugin for Eclipse (or see our Getting Started guide for alternate installation instructions).","Click Sign in to Google in the bottom-right corner of Eclipse, then enter your username and password.","Select File > Import to transfer your projects into Eclipse. Whenever you’re online, the plugin will automatically sync your local edits with Google Drive.","For step-by-step instructions on installation and use, see the documentation on using Apps Script with the Google Plugin for Eclipse.","Just in case you were wondering, the plugin uses the public Google Drive SDK to sync Apps Script files between your local file system and Google’s servers. We’ve previously covered the techniques it uses in our documentation on importing and exporting projects and the recent episode of Apps Script Crash Course on Google Developers Live below.","Norman Cohen","Norman Cohen is a software engineer based in Google’s New York office. He works primarily on the Google Plugin for Eclipse, focusing on improving developer experience in the cloud.","\n\nLabels:\n\n\n\nApps Script\n\n\n","\nYouTube, Google Forms, and Apps Script: BFFs\n","\nOctober 10, 2013\n","Last month, we announced several new ways to customize Google Forms. As of this week, three of those options are also available in forms created from Apps Script — embedding YouTube videos, displaying a progress bar, and showing a custom message if a form isn’t accepting responses.","Adding a ","YouTube video"," is as simple as any other Google Forms operation in Apps Script — from the ","Form"," object, just call ","addVideoItem()",", then ","setVideoUrl(youtubeUrl)",". Naturally, you can also control the video’s ","size",", ","alignment",", and so forth.","To show a progress bar, call ","setProgressBar(enabled)",". Don’t even need a second sentence to explain that one. The custom message for a form that isn’t accepting responses is similarly easy: ","setCustomClosedFormMessage(message)",", and you’re done.","Want to give it a try yourself? Copy and paste the sample code below into the script editor at ","script.google.com",", then hit ","Run",". When the script finishes, click ","View > Logs"," to grab the URL for your new form, or look for it in ","Google Drive","function showNewFormsFeatures() {\n var form = FormApp.create('New Features in Google Forms');\n var url = form.getPublishedUrl();\n \n form.addVideoItem()\n .setVideoUrl('http://www.youtube.com/watch?v=38H7WpsTD0M');\n \n form.addMultipleChoiceItem()\n .setTitle('Look, a YouTube video! Is that cool, or what?')\n .setChoiceValues(['Cool', 'What']);\n\n form.addPageBreakItem();\n \n form.addCheckboxItem()\n .setTitle('Progress bars are silly on one-page forms.')\n .setChoiceValues(['Ah, that explains why the form has two pages.']);\n \n form.setProgressBar(true);\n\n form.setCustomClosedFormMessage('Too late — this form is closed. Sorry!');\n // form.setAcceptingResponses(false); // Uncomment to see custom message.\n\n Logger.log('Open this URL to see the form: %s', url);\n}","Dan Lazin","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.","\nMonitor user logins, storage consumption and apps usage with the Admin SDK\n","\nSeptember 25, 2013\n","Security is a top priority for Google, just as it is for many of our Google Apps customers. As a domain administrator, a big part of keeping your users safe is knowing when and how they are using their accounts. Since we launched the Admin SDK Reports API in June, we've continued to add features to let you more easily visualize Google Apps' usage and security in your domain. These new features include:","Security Reports","Login audit—View all web browser based logins with IP information for all users in your domain. You can use this data to monitor all successful, failed, and suspicious logins in your domain.","Authorized applications—View a list of third-party applications that users in your domain have shared data with. Gain visibility into how many users are accessing each application. Revoke access to specific apps using the security tab on Admin console.","Usage Reports","Storage quota—View user-level quota usage. This is available both as total usage and split by Gmail, Drive and Google+ photos for every user in the domain. Monitor which users are nearing their quota limits and acquire more storage if necessary.","Google+ usage—View 1-day, 7-day and 30-day active Google+ usage in your domain. See the number of Hangouts attended by users in your domain.","Refer to the Reports API documentation for more details on how to use the Reports API and to see what is possible with all of our entire Admin SDK.","Rishi Dhand","\nRishi Dhand is a Product Manager on the Google Apps for Business team. In addition to working on data migration features, he also works on the Google Apps administration platform with focus on building new security and admin reporting features. In his free time, he enjoys playing squash and badminton.\n","\n\n\n \n \n\n\n\n\n \n \n\n\n\n\n\n \n \n\n\n","\nLabels\n","\n \n ","\n\n.NET\n\n\n3\n\n","\n\n#io15\n\n\n1\n\n","\n\n#io16\n\n\n1\n\n","\n\nAdmin SDK\n\n\n10\n\n","\n\nAdministrative APIs\n\n\n31\n\n","\n\nAdSense\n\n\n1\n\n","\n\nanalytics\n\n\n5\n\n","\n\nAndroid\n\n\n8\n\n","\n\nAPI\n\n\n3\n\n","\n\nAPIs\n\n\n3\n\n","\n\nApp Engine\n\n\n5\n\n","\n\nApps\n\n\n1\n\n","\n\nApps Script\n\n\n118\n\n","\n\nAudit\n\n\n2\n\n","\n\nAuth\n\n\n5\n\n","\n\nbilling\n\n\n4\n\n","\n\nCharts\n\n\n2\n\n","\n\nChrome OS\n\n\n1\n\n","\n\nclassroom\n\n\n3\n\n","\n\nCloud Storage API\n\n\n1\n\n","\n\nCommunity\n\n\n1\n\n","\n\ndecks\n\n\n1\n\n","\n\nDesign\n\n\n1\n\n","\n\nDevelopers\n\n\n12\n\n","\n\nDirectory API\n\n\n3\n\n","\n\nDrive\n\n\n4\n\n","\n\nDrive SDK\n\n\n41\n\n","\n\nexecution API\n\n\n2\n\n","\n\nFirebase\n\n\n1\n\n","\n\nForms\n\n\n1\n\n","\n\nFreemium\n\n\n1\n\n","\n\nFusion Tables\n\n\n2\n\n","\n\nG Suite\n\n\n24\n\n","\n\nGadgets\n\n\n5\n\n","\n\nGmail\n\n\n7\n\n","\n\nGmail APIs\n\n\n23\n\n","\n\nGoogle\n\n\n3\n\n","\n\nGoogle APIs\n\n\n36\n\n","\n\nGoogle Apps\n\n\n33\n\n","\n\nGoogle Apps Marketplace\n\n\n7\n\n","\n\nGoogle Calendar API\n\n\n25\n\n","\n\nGoogle Classroom\n\n\n4\n\n","\n\nGoogle Cloud Directory\n\n\n1\n\n","\n\nGoogle Contacts API\n\n\n4\n\n","\n\nGoogle Data Protocol\n\n\n8\n\n","\n\ngoogle docs\n\n\n5\n\n","\n\nGoogle Docs API\n\n\n22\n\n","\n\nGoogle Drive\n\n\n8\n\n","\n\nGoogle Drive SDK\n\n\n7\n\n","\n\nGoogle Forms\n\n\n8\n\n","\n\nGoogle I/O\n\n\n3\n\n","\n\nGoogle Prediction API\n\n\n3\n\n","\n\nGoogle Profiles API\n\n\n2\n\n","\n\nGoogle sheets\n\n\n11\n\n","\n\nGoogle Sheets API\n\n\n7\n\n","\n\nGoogle Sites API\n\n\n5\n\n","\n\nGoogle Slides API\n\n\n10\n\n","\n\nGoogle Spreadsheets API\n\n\n5\n\n","\n\nGoogle Talk\n\n\n1\n\n","\n\nGoogle Tasks API\n\n\n8\n\n","\n\nGoogle+\n\n\n3\n\n","\n\ngooglenew\n\n\n1\n\n","\n\nGroups\n\n\n2\n\n","\n\nGSuite\n\n\n3\n\n","\n\nGuest Post\n\n\n43\n\n","\n\nHangouts Chat API\n\n\n1\n\n","\n\nI\n\n\n1\n\n","\n\nInbox\n\n\n1\n\n","\n\niOS\n\n\n2\n\n","\n\nissue tracker\n\n\n1\n\n","\n\nISVs\n\n\n2\n\n","\n\njava\n\n\n1\n\n","\n\nJavaScript\n\n\n6\n\n","\n\nmarketing\n\n\n3\n\n","\n\nMarketplace\n\n\n47\n\n","\n\nMarketplace ISV Guest\n\n\n21\n\n","\n\nMigration\n\n\n2\n\n","\n\nMobile\n\n\n5\n\n","\n\nmpstaffpick\n\n\n1\n\n","\n\noauth\n\n\n16\n\n","\n\nOpenID\n\n\n8\n\n","\n\nPHP\n\n\n1\n\n","\n\npresentations\n\n\n1\n\n","\n\npython\n\n\n7\n\n","\n\nrealtime API\n\n\n2\n\n","\n\nResellers\n\n\n2\n\n","\n\nRuby\n\n\n1\n\n","\n\nSaaS\n\n\n1\n\n","\n\nsecurity\n\n\n5\n\n","\n\nSheets API\n\n\n3\n\n","\n\nspreadsheets\n\n\n3\n\n","\n\nStaff Picks\n\n\n2\n\n","\n\ntool\n\n\n1\n\n","\n\ntools\n\n\n2\n\n","\n\ntutorials\n\n\n2\n\n","\n\nvideo\n\n\n4\n\n","\n\nvideos\n\n\n1\n\n","\n\nwebinar\n\n\n2\n\n","\n \n ","\nArchive\n","\n\n\n \n \n\n\n\n\n \n \n  \n \n\n\n\n2018\n\n","\nJul\n","\nJun\n","\nMay\n","\nMar\n","\nFeb\n","\nJan\n","\n\n\n \n \n\n\n\n\n \n \n  \n \n\n\n\n2017\n\n","\nDec\n","\nNov\n","\nOct\n","\nSep\n","\nAug\n","\nApr\n","\n\n\n \n \n\n\n\n\n \n \n  \n \n\n\n\n2016\n\n","\n\n\n \n \n\n\n\n\n \n \n  \n \n\n\n\n2015\n\n","\n\n\n \n \n\n\n\n\n \n \n  \n \n\n\n\n2014\n\n","\n\n\n \n \n\n\n\n\n \n \n  \n \n\n\n\n2013\n\n","\n\n\n \n \n\n\n\n\n \n \n  \n \n\n\n\n2012\n\n","\n\n\n \n \n\n\n\n\n \n \n  \n \n\n\n\n2011\n\n","\n\n\n \n \n\n\n\n\n \n \n  \n \n\n\n\n2010\n\n","Feed","Google","on","Follow @gsuitedevs","\nCompany-wide\n","Official Google Blog","Public Policy Blog","Student Blog","\nProducts\n","Android Blog","Chrome Blog","Lat Long Blog","\nDevelopers\n","Developers Blog","Ads Developer Blog","Android Developers Blog","\n Google\n ","\n Privacy\n ","\n Terms\n "]}