CINXE.COM
Execute code samples | Google APIs Explorer | Google for Developers
<!doctype html> <html lang="en" dir="ltr"> <head> <meta name="google-signin-client-id" content="721724668570-nbkv1cfusk7kk4eni4pjvepaus73b13t.apps.googleusercontent.com"> <meta name="google-signin-scope" content="profile email https://www.googleapis.com/auth/developerprofiles https://www.googleapis.com/auth/developerprofiles.award"> <meta property="og:site_name" content="Google for Developers"> <meta property="og:type" content="website"><meta name="theme-color" content="#1a73e8"><meta charset="utf-8"> <meta content="IE=Edge" http-equiv="X-UA-Compatible"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="manifest" href="/_pwa/developers/manifest.json" crossorigin="use-credentials"> <link rel="preconnect" href="//www.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.googleapis.com" crossorigin> <link rel="preconnect" href="//apis.google.com" crossorigin> <link rel="preconnect" href="//www.google-analytics.com" crossorigin><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"> <link rel="stylesheet" href="//fonts.googleapis.com/css2?family=Material+Icons&family=Material+Symbols+Outlined&display=block"><link rel="stylesheet" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/css/app.css"> <link rel="shortcut icon" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/favicon-new.png"> <link rel="apple-touch-icon" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/touchicon-180-new.png"><link rel="canonical" href="https://developers.google.com/explorer-help/code-samples"><link rel="search" type="application/opensearchdescription+xml" title="Google for Developers" href="https://developers.google.com/s/opensearch.xml"> <link rel="alternate" hreflang="en" href="https://developers.google.com/explorer-help/code-samples" /><link rel="alternate" hreflang="x-default" href="https://developers.google.com/explorer-help/code-samples" /><link rel="alternate" hreflang="ar" href="https://developers.google.com/explorer-help/code-samples?hl=ar" /><link rel="alternate" hreflang="bn" href="https://developers.google.com/explorer-help/code-samples?hl=bn" /><link rel="alternate" hreflang="zh-Hans" href="https://developers.google.com/explorer-help/code-samples?hl=zh-cn" /><link rel="alternate" hreflang="zh-Hant" href="https://developers.google.com/explorer-help/code-samples?hl=zh-tw" /><link rel="alternate" hreflang="fa" href="https://developers.google.com/explorer-help/code-samples?hl=fa" /><link rel="alternate" hreflang="fr" href="https://developers.google.com/explorer-help/code-samples?hl=fr" /><link rel="alternate" hreflang="de" href="https://developers.google.com/explorer-help/code-samples?hl=de" /><link rel="alternate" hreflang="he" href="https://developers.google.com/explorer-help/code-samples?hl=he" /><link rel="alternate" hreflang="hi" href="https://developers.google.com/explorer-help/code-samples?hl=hi" /><link rel="alternate" hreflang="id" href="https://developers.google.com/explorer-help/code-samples?hl=id" /><link rel="alternate" hreflang="it" href="https://developers.google.com/explorer-help/code-samples?hl=it" /><link rel="alternate" hreflang="ja" href="https://developers.google.com/explorer-help/code-samples?hl=ja" /><link rel="alternate" hreflang="ko" href="https://developers.google.com/explorer-help/code-samples?hl=ko" /><link rel="alternate" hreflang="pl" href="https://developers.google.com/explorer-help/code-samples?hl=pl" /><link rel="alternate" hreflang="pt-BR" href="https://developers.google.com/explorer-help/code-samples?hl=pt-br" /><link rel="alternate" hreflang="ru" href="https://developers.google.com/explorer-help/code-samples?hl=ru" /><link rel="alternate" hreflang="es-419" href="https://developers.google.com/explorer-help/code-samples?hl=es-419" /><link rel="alternate" hreflang="th" href="https://developers.google.com/explorer-help/code-samples?hl=th" /><link rel="alternate" hreflang="tr" href="https://developers.google.com/explorer-help/code-samples?hl=tr" /><link rel="alternate" hreflang="vi" href="https://developers.google.com/explorer-help/code-samples?hl=vi" /><title>Execute code samples | Google APIs Explorer | Google for Developers</title> <meta property="og:title" content="Execute code samples | Google APIs Explorer | Google for Developers"><meta property="og:url" content="https://developers.google.com/explorer-help/code-samples"><meta property="og:image" content="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/opengraph/google-blue.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="675"><meta property="og:locale" content="en"><meta name="twitter:card" content="summary_large_image"><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "headline": "Execute code samples" } </script><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Google APIs Explorer", "item": "https://developers.google.com/explorer-help" },{ "@type": "ListItem", "position": 2, "name": "Execute code samples", "item": "https://developers.google.com/explorer-help/code-samples" }] } </script> <link rel="stylesheet" href="/extras.css"></head> <body class="" template="page" theme="google-blue" type="article" layout="docs" concierge='closed' display-toc pending> <devsite-progress type="indeterminate" id="app-progress"></devsite-progress> <section class="devsite-wrapper"> <devsite-cookie-notification-bar></devsite-cookie-notification-bar><devsite-header role="banner"> <div class="devsite-header--inner nocontent"> <div class="devsite-top-logo-row-wrapper-wrapper"> <div class="devsite-top-logo-row-wrapper"> <div class="devsite-top-logo-row"> <button type="button" id="devsite-hamburger-menu" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Navigation menu button" visually-hidden aria-label="Open menu"> </button> <div class="devsite-product-name-wrapper"> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item devsite-has-google-wordmark"> <a href="https://developers.google.com/explorer-help" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Upper Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Google APIs Explorer" > <svg class="devsite-google-wordmark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 148 48"> <title>Google</title> <path class="devsite-google-wordmark-svg-path" d="M19.58,37.65c-9.87,0-18.17-8.04-18.17-17.91c0-9.87,8.3-17.91,18.17-17.91c5.46,0,9.35,2.14,12.27,4.94l-3.45,3.45c-2.1-1.97-4.93-3.49-8.82-3.49c-7.21,0-12.84,5.81-12.84,13.02c0,7.21,5.64,13.02,12.84,13.02c4.67,0,7.34-1.88,9.04-3.58c1.4-1.4,2.32-3.41,2.66-6.16H19.58v-4.89h16.47c0.18,0.87,0.26,1.92,0.26,3.06c0,3.67-1.01,8.21-4.24,11.44C28.93,35.9,24.91,37.65,19.58,37.65z M61.78,26.12c0,6.64-5.1,11.53-11.36,11.53s-11.36-4.89-11.36-11.53c0-6.68,5.1-11.53,11.36-11.53S61.78,19.43,61.78,26.12z M56.8,26.12c0-4.15-2.96-6.99-6.39-6.99c-3.43,0-6.39,2.84-6.39,6.99c0,4.11,2.96,6.99,6.39,6.99C53.84,33.11,56.8,30.22,56.8,26.12z M87.25,26.12c0,6.64-5.1,11.53-11.36,11.53c-6.26,0-11.36-4.89-11.36-11.53c0-6.68,5.1-11.53,11.36-11.53C82.15,14.59,87.25,19.43,87.25,26.12zM82.28,26.12c0-4.15-2.96-6.99-6.39-6.99c-3.43,0-6.39,2.84-6.39,6.99c0,4.11,2.96,6.99,6.39,6.99C79.32,33.11,82.28,30.22,82.28,26.12z M112.09,15.29v20.7c0,8.52-5.02,12.01-10.96,12.01c-5.59,0-8.95-3.76-10.22-6.81l4.41-1.83c0.79,1.88,2.71,4.1,5.81,4.1c3.8,0,6.16-2.36,6.16-6.77v-1.66h-0.18c-1.14,1.4-3.32,2.62-6.07,2.62c-5.76,0-11.05-5.02-11.05-11.49c0-6.51,5.28-11.57,11.05-11.57c2.75,0,4.93,1.22,6.07,2.58h0.18v-1.88H112.09z M107.64,26.16c0-4.06-2.71-7.03-6.16-7.03c-3.49,0-6.42,2.97-6.42,7.03c0,4.02,2.93,6.94,6.42,6.94C104.93,33.11,107.64,30.18,107.64,26.16z M120.97,3.06v33.89h-5.07V3.06H120.97z M140.89,29.92l3.93,2.62c-1.27,1.88-4.32,5.11-9.61,5.11c-6.55,0-11.28-5.07-11.28-11.53c0-6.86,4.77-11.53,10.71-11.53c5.98,0,8.91,4.76,9.87,7.34l0.52,1.31l-15.42,6.38c1.18,2.31,3.01,3.49,5.59,3.49C137.79,33.11,139.58,31.84,140.89,29.92zM128.79,25.77l10.31-4.28c-0.57-1.44-2.27-2.45-4.28-2.45C132.24,19.04,128.66,21.31,128.79,25.77z"/> </svg>APIs Explorer </a> </li> </ul> </span> </div> <div class="devsite-top-logo-row-middle"> <div class="devsite-header-upper-tabs"> </div> <devsite-search enable-signin enable-search enable-suggestions enable-query-completion project-name="Google APIs Explorer" tenant-name="Google for Developers" project-scope="/explorer-help" url-scoped="https://developers.google.com/s/results/explorer-help" > <form class="devsite-search-form" action="https://developers.google.com/s/results" method="GET"> <div class="devsite-search-container"> <button type="button" search-open class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Open search"></button> <div class="devsite-searchbox"> <input aria-activedescendant="" aria-autocomplete="list" aria-label="Search" aria-expanded="false" aria-haspopup="listbox" autocomplete="off" class="devsite-search-field devsite-search-query" name="q" placeholder="Search" role="combobox" type="text" value="" > <div class="devsite-search-image material-icons" aria-hidden="true"> </div> <div class="devsite-search-shortcut-icon-container" aria-hidden="true"> <kbd class="devsite-search-shortcut-icon">/</kbd> </div> </div> </div> </form> <button type="button" search-close class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Close search"></button> </devsite-search> </div> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" >English</a> </li> <li role="presentation"> <a role="menuitem" lang="de" >Deutsch</a> </li> <li role="presentation"> <a role="menuitem" lang="es" >Español</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419" >Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="id" >Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="it" >Italiano</a> </li> <li role="presentation"> <a role="menuitem" lang="pl" >Polski</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br" >Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="vi" >Tiếng Việt</a> </li> <li role="presentation"> <a role="menuitem" lang="tr" >Türkçe</a> </li> <li role="presentation"> <a role="menuitem" lang="ru" >Русский</a> </li> <li role="presentation"> <a role="menuitem" lang="he" >עברית</a> </li> <li role="presentation"> <a role="menuitem" lang="ar" >العربيّة</a> </li> <li role="presentation"> <a role="menuitem" lang="fa" >فارسی</a> </li> <li role="presentation"> <a role="menuitem" lang="hi" >हिंदी</a> </li> <li role="presentation"> <a role="menuitem" lang="bn" >বাংলা</a> </li> <li role="presentation"> <a role="menuitem" lang="th" >ภาษาไทย</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn" >中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_tw" >中文 – 繁體</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" >日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" >한국어</a> </li> </ul> </devsite-language-selector> <devsite-user enable-profiles fp-auth id="devsite-user"> <span class="button devsite-top-button" aria-hidden="true" visually-hidden>Sign in</span> </devsite-user> </div> </div> </div> <div class="devsite-collapsible-section "> <div class="devsite-header-background"> <div class="devsite-doc-set-nav-row"> <devsite-tabs class="lower-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Lower tabs"> <tab > <a href="https://developers.google.com/apis-explorer" track-metadata-eventdetail="https://developers.google.com/apis-explorer" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - directory" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Directory" track-name="directory" > Directory </a> </tab> <tab class="devsite-active"> <a href="https://developers.google.com/explorer-help" track-metadata-eventdetail="https://developers.google.com/explorer-help" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - documentation" track-metadata-module="primary nav" aria-label="Documentation, selected" data-category="Site-Wide Custom Events" data-label="Tab: Documentation" track-name="documentation" > Documentation </a> </tab> <tab > <a href="https://developers.google.com/explorer-help/support" track-metadata-eventdetail="https://developers.google.com/explorer-help/support" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - support" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Support" track-name="support" > Support </a> </tab> </nav> </devsite-tabs> </div> </div> </div> </div> </devsite-header> <devsite-book-nav scrollbars > <div class="devsite-book-nav-filter" > <span class="filter-list-icon material-icons" aria-hidden="true"></span> <input type="text" placeholder="Filter" aria-label="Type to filter" role="searchbox"> <span class="filter-clear-button hidden" data-title="Clear filter" aria-label="Clear filter" role="button" tabindex="0"></span> </div> <nav class="devsite-book-nav devsite-nav nocontent" aria-label="Side menu"> <div class="devsite-mobile-header"> <button type="button" id="devsite-close-nav" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Close navigation" aria-label="Close navigation"> </button> <div class="devsite-product-name-wrapper"> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item devsite-has-google-wordmark"> <a href="https://developers.google.com/explorer-help" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Upper Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Google APIs Explorer" > <svg class="devsite-google-wordmark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 148 48"> <title>Google</title> <path class="devsite-google-wordmark-svg-path" d="M19.58,37.65c-9.87,0-18.17-8.04-18.17-17.91c0-9.87,8.3-17.91,18.17-17.91c5.46,0,9.35,2.14,12.27,4.94l-3.45,3.45c-2.1-1.97-4.93-3.49-8.82-3.49c-7.21,0-12.84,5.81-12.84,13.02c0,7.21,5.64,13.02,12.84,13.02c4.67,0,7.34-1.88,9.04-3.58c1.4-1.4,2.32-3.41,2.66-6.16H19.58v-4.89h16.47c0.18,0.87,0.26,1.92,0.26,3.06c0,3.67-1.01,8.21-4.24,11.44C28.93,35.9,24.91,37.65,19.58,37.65z M61.78,26.12c0,6.64-5.1,11.53-11.36,11.53s-11.36-4.89-11.36-11.53c0-6.68,5.1-11.53,11.36-11.53S61.78,19.43,61.78,26.12z M56.8,26.12c0-4.15-2.96-6.99-6.39-6.99c-3.43,0-6.39,2.84-6.39,6.99c0,4.11,2.96,6.99,6.39,6.99C53.84,33.11,56.8,30.22,56.8,26.12z M87.25,26.12c0,6.64-5.1,11.53-11.36,11.53c-6.26,0-11.36-4.89-11.36-11.53c0-6.68,5.1-11.53,11.36-11.53C82.15,14.59,87.25,19.43,87.25,26.12zM82.28,26.12c0-4.15-2.96-6.99-6.39-6.99c-3.43,0-6.39,2.84-6.39,6.99c0,4.11,2.96,6.99,6.39,6.99C79.32,33.11,82.28,30.22,82.28,26.12z M112.09,15.29v20.7c0,8.52-5.02,12.01-10.96,12.01c-5.59,0-8.95-3.76-10.22-6.81l4.41-1.83c0.79,1.88,2.71,4.1,5.81,4.1c3.8,0,6.16-2.36,6.16-6.77v-1.66h-0.18c-1.14,1.4-3.32,2.62-6.07,2.62c-5.76,0-11.05-5.02-11.05-11.49c0-6.51,5.28-11.57,11.05-11.57c2.75,0,4.93,1.22,6.07,2.58h0.18v-1.88H112.09z M107.64,26.16c0-4.06-2.71-7.03-6.16-7.03c-3.49,0-6.42,2.97-6.42,7.03c0,4.02,2.93,6.94,6.42,6.94C104.93,33.11,107.64,30.18,107.64,26.16z M120.97,3.06v33.89h-5.07V3.06H120.97z M140.89,29.92l3.93,2.62c-1.27,1.88-4.32,5.11-9.61,5.11c-6.55,0-11.28-5.07-11.28-11.53c0-6.86,4.77-11.53,10.71-11.53c5.98,0,8.91,4.76,9.87,7.34l0.52,1.31l-15.42,6.38c1.18,2.31,3.01,3.49,5.59,3.49C137.79,33.11,139.58,31.84,140.89,29.92zM128.79,25.77l10.31-4.28c-0.57-1.44-2.27-2.45-4.28-2.45C132.24,19.04,128.66,21.31,128.79,25.77z"/> </svg>APIs Explorer </a> </li> </ul> </span> </div> </div> <div class="devsite-book-nav-wrapper"> <div class="devsite-mobile-nav-top"> <ul class="devsite-nav-list"> <li class="devsite-nav-item"> <a href="/apis-explorer" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Directory" track-name="directory" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Directory" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Directory </span> </a> </li> <li class="devsite-nav-item"> <a href="/explorer-help" class="devsite-nav-title gc-analytics-event devsite-nav-has-children devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Documentation" track-name="documentation" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Documentation" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Documentation </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/explorer-help/support" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Support" track-name="support" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Support" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Support </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> </ul> </div> <div class="devsite-mobile-nav-bottom"> <ul class="devsite-nav-list" menu="_book"> <li class="devsite-nav-item"><a href="/explorer-help" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /explorer-help" track-type="bookNav" track-name="click" track-metadata-eventdetail="/explorer-help" ><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="/explorer-help/execute-method" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /explorer-help/execute-method" track-type="bookNav" track-name="click" track-metadata-eventdetail="/explorer-help/execute-method" ><span class="devsite-nav-text" tooltip>Display the APIs Explorer and execute a method</span></a></li> <li class="devsite-nav-item"><a href="/explorer-help/authorization-and-authentication" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /explorer-help/authorization-and-authentication" track-type="bookNav" track-name="click" track-metadata-eventdetail="/explorer-help/authorization-and-authentication" ><span class="devsite-nav-text" tooltip>Test with different credential types and scopes</span></a></li> <li class="devsite-nav-item"><a href="/explorer-help/code-samples" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /explorer-help/code-samples" track-type="bookNav" track-name="click" track-metadata-eventdetail="/explorer-help/code-samples" ><span class="devsite-nav-text" tooltip>Execute code samples</span></a></li> </ul> </div> </div> </nav> </devsite-book-nav> <section id="gc-wrapper"> <main role="main" class="devsite-main-content" has-book-nav > <devsite-content> <article class="devsite-article"> <div class="devsite-article-meta nocontent" role="navigation"> <ul class="devsite-breadcrumb-list" aria-label="Breadcrumb"> <li class="devsite-breadcrumb-item "> <a href="https://developers.google.com/" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="" > Home </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/products" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="2" track-type="globalNav" track-name="breadcrumb" track-metadata-position="2" track-metadata-eventdetail="" > Products </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/explorer-help" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="3" track-type="globalNav" track-name="breadcrumb" track-metadata-position="3" track-metadata-eventdetail="Google APIs Explorer" > Google APIs Explorer </a> </li> </ul> <devsite-thumb-rating position="header"> </devsite-thumb-rating> </div> <h1 class="devsite-page-title" tabindex="-1"> Execute code samples </h1> <devsite-feature-tooltip ack-key="AckCollectionsBookmarkTooltipDismiss" analytics-category="Site-Wide Custom Events" analytics-action-show="Callout Profile displayed" analytics-action-close="Callout Profile dismissed" analytics-label="Create Collection Callout" class="devsite-page-bookmark-tooltip nocontent" dismiss-button="true" id="devsite-collections-dropdown" dismiss-button-text="Dismiss" close-button-text="Got it"> <devsite-bookmark></devsite-bookmark> <span slot="popout-heading"> Stay organized with collections </span> <span slot="popout-contents"> Save and categorize content based on your preferences. </span> </devsite-feature-tooltip> <div class="devsite-page-title-meta"><devsite-view-release-notes></devsite-view-release-notes></div> <devsite-toc class="devsite-nav" depth="2" devsite-toc-embedded > </devsite-toc> <div class="devsite-article-body clearfix "> <p>The Google APIs Explorer dynamically generates code samples. These code samples are designed to be copied and run locally. To view the samples, click Full screen <span class="material-icons" aria-hidden="true" translate="no">fullscreen</span> in the APIs Explorer side panel. The figure below shows the expanded full-screen APIs Explorer:</p> <figure class="attempt-right"> <img src="/static/explorer-help/guides/images/expanded.png" data-modal-dialog-id="fullscreen-panel" alt="APIs Explorer full-screen panel for the Google Books API" class="screenshot"> <figcaption><b>Figure 2</b>: APIs Explorer full-screen panel for the Google Books API.</figcaption> </figure> <p><devsite-lightbox id="fullscreen-panel"> <img src="/static/explorer-help/guides/images/expanded.png"> </devsite-lightbox></p> <p>By default, the APIs Explorer shows how to use cURL to execute your request. Some APIs might also show samples for other languages, such as JavaScript, Java, and Python.</p> <h2 id="run_code_samples_locally" data-text="Run code samples locally" tabindex="-1">Run code samples locally</h2> <p>The following tabs explain the prerequisites and steps for running code samples. To run the code samples, you must generate and use your own authorization credentials. For an explanation of how to create a project and generate credentials, refer to your specific Google API's documentation.</p> <p>Credentials are one of the following, depending on the type of data (public or private) the method is accessing:</p> <ul> <li>For public data, the credential is an API key.</li> <li><p>For private data, the credential is either a <code translate="no" dir="ltr">client_secret.json</code> file containing your OAuth 2.0 client ID and client secret or an OAuth 2.0 access token.</p></li> </ul> <div class="ds-selector-tabs" data-ds-scope="code-sample"> <section><h3 id="curl" data-text="cURL" tabindex="-1">cURL</h3><p><strong>Set up</strong></p> <ol> <li>Follow instructions in the API documentation to create or select a project for your app and enable the API.</li> <li>In the cloud console, create an API key.</li> <li>In the cloud console, create an OAuth client ID credential for a Web application and use <code translate="no" dir="ltr">https://developers.google.com/oauthplayground</code> as the redirect URI.</li> <li><a href="https://developers.google.com/oauthplayground/" target="_blank" class="external">In the OAuth 2.0 Playground</a>, click <strong>OAuth 2.0 Configuration</strong> <span class="material-icons" aria-hidden="true" translate="no">settings</span>.</li> <li>Check <strong>Use your own credentials</strong>.</li> <li>Enter the client ID and client secret generated in step 3.</li> <li>In the scopes field, type the scope to use with your method and click <strong>Authorize APIs</strong>.</li> <li>(optional) If presented with a Sign in screen, select the account to use.</li> <li>(optional) If presented with an authorization screen, click <strong>Accept</strong>.</li> <li>Click <strong>Exchange authorization code for tokens</strong>. A token is returned.</li> <li>In the cURL code sample, replace <code translate="no" dir="ltr">[YOUR_API_KEY]</code> with the API key generated in step 2: <code translate="no" dir="ltr">'https://www.googleapis.com/drive/v3/files?key=<var translate="no">[YOUR_API_KEY]</var>' \</code></li> <li>In the cURL code sample, replace <code translate="no" dir="ltr">[YOUR_ACCESS_TOKEN]</code> with the access token generated in step 10: <code translate="no" dir="ltr">--header 'Authorization: Bearer <var translate="no">[YOUR_ACCESS_TOKEN]</var>' \</code></li> </ol> <p><strong>Execute code sample</strong></p> <p>From the command line, execute the cURL command. The command should be similar to this:</p> <pre class="prettyprint" translate="no" dir="ltr"><code translate="no" dir="ltr">curl \ 'https://www.googleapis.com/drive/v3/files?key=AIzaSyBiKcaoXmVApwnT24hitQG_dwjGvAj6Ddw' \ --header 'Authorization: Bearer ya29.a0ARrdaM_yQn9MWBpJgKPx880BSnRYIizRYIDz0JN9e66nSliIYpqNXmPsvv2ccfplCTG_U4b1' \ --header 'Accept: application/json' \ --compressed </code></pre><aside class="note"><strong>Note:</strong><span> The access token becomes stale after 3600 seconds. To obtain a new token in the OAuth 2.0 Playground, click <strong>Refresh access token</strong>.</span></aside></section> <section><h3 id="javascript" data-text="JavaScript" tabindex="-1">JavaScript</h3><p><strong>Set up</strong></p> <ol> <li>Follow instructions in the API documentation to create or select a project for your app and enable the API.</li> <li>In the cloud console, create an API key.</li> <li>In the cloud console, create an OAuth client ID credential for a "Web application" and set the authorized JavaScript origins to identify the URL from which you'll be sending requests, such as <code translate="no" dir="ltr">http://localhost</code>.</li> <li>Copy the full code sample to a local file accessible to your web server, such as <code translate="no" dir="ltr">/var/www/html/example.html</code>.</li> <li><p>Find the line in the code sample that sets the API key or client ID and replace the value with the values generated in step 2 and 3:</p> <ul> <li>API key: <code translate="no" dir="ltr">gapi.client.setApiKey(<var translate="no">YOUR_API_KEY</var>);</code></li> <li>OAuth 2.0 client ID: <code translate="no" dir="ltr">gapi.client.init({ 'clientId': '<var translate="no">YOUR_CLIENT_ID</var>',</code></li> </ul></li> </ol> <p><strong>Execute code sample</strong></p> <ol> <li>Open the file in your browser, such as <code translate="no" dir="ltr">http://localhost/example.html</code>. We recommend using a browser with a debugging console, such as Google Chrome.</li> <li>(optional) If presented with a Sign in screen, select the account to use.</li> <li>(optional) If presented with an authorization screen, click <strong>Accept</strong>. The debugging console should display the method response as a JSON object.</li> </ol></section> <section><h3 id="java" data-text="Java" tabindex="-1">Java</h3><p><strong>Prerequisites</strong></p> <ul> <li>Java 1.7 or greater.</li> <li>Gradle 7 or greater.</li> </ul> <p><strong>Set up</strong></p> <ol> <li>Follow instructions in the API documentation to create or select a project for your app and enable the API.</li> <li>Depending on the type of data the method is accessing, create an API key (public data) or create an OAuth 2.0 client ID (private data).</li> <li>Set the application type to <strong>Desktop app</strong>.</li> <li>If you created an OAuth 2.0 client ID, download the JSON file containing your OAuth 2.0 credentials. This file is named something similar to <code translate="no" dir="ltr">client_secret_<var translate="no">CLIENTID</var>.json</code>, where <code translate="no" dir="ltr"><var translate="no">CLIENTID</var></code> is the client ID for your project.</li> <li><p>In your working directory, run the following commands to create a new project structure:</p> <pre class="prettyprint" translate="no" dir="ltr"><code translate="no" dir="ltr">$ gradle init --type basic $ mkdir -p src/main/java src/main/resources </code></pre></li> <li><p>If you created an OAuth 2.0 client ID in step 2, rename the JSON file that you downloaded to <code translate="no" dir="ltr">client_secret.json</code>.</p></li> <li><p>Save the renamed file in the <code translate="no" dir="ltr">src/main/resources</code> directory that you created in step 5.</p></li> <li><p>In your working directory, open the <code translate="no" dir="ltr">build.gradle</code> file and replace its contents with the following:</p> <pre class="prettyprint" translate="no" dir="ltr"><code translate="no" dir="ltr">apply plugin: 'java' apply plugin: 'application' mainClassName = 'ApiExample' sourceCompatibility = 1.7 targetCompatibility = 1.7 version = '1.0' repositories { mavenCentral() } dependencies { compile 'com.google.api-client:google-api-client:1.23.0' compile 'com.google.oauth-client:google-oauth-client-jetty:1.23.0' <var translate="no">API_SPECIFIC_DEPENDENCY</var> } </code></pre></li> <li><p>In the <code translate="no" dir="ltr">build.gradle</code> file, replace the line that says <code translate="no" dir="ltr"><var translate="no">API_SPECIFIC_DEPENDENCY</var></code> with an instruction to compile code for the API you're calling. Here is a sample for the YouTube Analytics API:</p> <pre class="prettyprint" translate="no" dir="ltr"><code translate="no" dir="ltr">compile 'com.google.apis:google-api-services-youtubeAnalytics:v2-rev16-1.23.0' </code></pre> <p>The instruction follows this template:</p> <pre class="prettyprint" translate="no" dir="ltr"><code translate="no" dir="ltr">compile 'com.google.apis:google-api-services-<var translate="no">API_NAME</var>:<var translate="no">API_VERSION</var>- rev<var translate="no">REVISION</var>-<var translate="no">CL_VERSION</var>' </code></pre></li> </ol> <p>Where:</p> <ul> <li><code translate="no" dir="ltr"><var translate="no">API_NAME</var></code> is the API name listed on GitHub for the API. To find the name, click on the version link next to your API on the <a href="https://developers.google.com/api-client-library/java/apis/" target="_blank" class="external">Supported Google APIs</a> page. The version link navigates to GitHub. The API name is in the upper-middle of the page and is preceded by <code translate="no" dir="ltr">googleapis/google-apis-services-</code>. For example, for the v3 of the Drive API, the <code translate="no" dir="ltr"><var translate="no">API_NAME</var></code> is <code translate="no" dir="ltr">drive</code>.</li> <li><code translate="no" dir="ltr"><var translate="no">API_VERSION</var></code> is the API version listed for the API below the API name on the Supported Google APIs page.</li> <li><code translate="no" dir="ltr"><var translate="no">REVISION</var></code> is the revision number listed in the JavaDoc reference for the API. The JavaDoc reference can be found at <code translate="no" dir="ltr">https://googleapis.dev/java/google-api-services-<var translate="no">API_NAME</var>/latest/index.html</code></li> <li><code translate="no" dir="ltr"><var translate="no">CL_VERSION</var></code> is the client library version. This value also appears in the JavaDoc reference.</li> <li>From your working directory, copy the code sample from APIs Explorer to <code translate="no" dir="ltr">src/main/java/ApiExample.java</code>. (The class name in each sample is <code translate="no" dir="ltr">ApiExample</code> so that you do not need to modify the <code translate="no" dir="ltr">build.gradle</code> file to run different samples.</li> </ul> <p><strong>Execute code sample</strong></p> <p>Use the following command to run the example:</p> <pre class="prettyprint" translate="no" dir="ltr"><code translate="no" dir="ltr"> gradle -q run </code></pre> <p>The sample should execute your API request and print the response to <code translate="no" dir="ltr">STDOUT</code>. You can also check the service you are calling to see the effects of requests that write data.</p></section> <section><h3 id="node.js" data-text="Node.js" tabindex="-1">Node.js</h3><p><strong>Prerequisites</strong></p> <ul> <li><a href="https://docs.npmjs.com/getting-started/installing-node#1-install-nodejs--npm">Node.js</a></li> <li><p>The Google APIs Client Library for Node.js:</p> <ul> <li>If you have not previously installed the client library, run the command:</li> </ul> <pre class="prettyprint" translate="no" dir="ltr"><code translate="no" dir="ltr">npm install googleapis --save </code></pre> <ul> <li>If you previously installed the client library, we recommend updating it to ensure that you have the most up-to-date classes for the library you are testing. To update the client library, run the command:</li> </ul> <pre class="prettyprint" translate="no" dir="ltr"><code translate="no" dir="ltr">npm update googleapis --save </code></pre></li> </ul> <p><strong>Set up</strong></p> <ol> <li>Follow instructions in the API documentation to create or select a project for your app and enable the API.</li> <li>Depending on the type of data the method is accessing, create an API key (public data) or create an OAuth 2.0 client ID (private data).</li> <li>Set the application type to <strong>Desktop app</strong>.</li> <li>If you created an OAuth 2.0 client ID, download the JSON file containing your OAuth 2.0 credentials. This file is named something similar to <code translate="no" dir="ltr">client_secret_<var translate="no">CLIENTID</var>.json</code>, where <code translate="no" dir="ltr"><var translate="no">CLIENTID</var></code> is the client ID for your project.</li> <li>Copy the code sample to a local file and modify the sample to correctly identify your API key or client secrets file. In the sample, the API key value is <code translate="no" dir="ltr"><var translate="no">YOUR_API_KEY</var></code>, and the client secrets file location is <code translate="no" dir="ltr"><var translate="no">YOUR_CLIENT_SECRET_FILE.json</var></code>.</li> </ol> <p><strong>Execute code sample</strong></p> <p>Use the following command to run the example:</p> <pre class="prettyprint" translate="no" dir="ltr"><code translate="no" dir="ltr"> node sample.js </code></pre> <p>Most samples print an API response (or something else) to <code translate="no" dir="ltr">STDOUT</code>.</p></section> <section><h3 id="php" data-text="PHP" tabindex="-1">PHP</h3><p><strong>Prerequisites</strong></p> <ul> <li>PHP 5.4 or greater with the command-line interface (CLI) and JSON extension.</li> <li>The <a href="https://getcomposer.org/doc/00-intro.md#globally">Composer dependency management tool</a> installed globally.</li> <li><p>The Google APIs Client Library for PHP:</p> <ul> <li><p>If you have not previously installed the client library, run the command:</p> <pre class="prettyprint" translate="no" dir="ltr"><code translate="no" dir="ltr">composer require google/apiclient:^2.0 </code></pre></li> <li><p>If you previously installed the client library, we recommend updating it to ensure that you have the most up-to-date classes for the library you're testing. To update the client library, run the command:</p> <pre class="prettyprint" translate="no" dir="ltr"><code translate="no" dir="ltr">composer update google/apiclient --with-dependencies </code></pre></li> </ul></li> </ul> <p><strong>Execute code sample</strong></p> <p>Use the following command to run the example:</p> <pre class="prettyprint" translate="no" dir="ltr"><code translate="no" dir="ltr"> php sample.php </code></pre> <p>Most samples print an API response (or something else) to <code translate="no" dir="ltr">STDOUT</code>.</p></section> <section><h3 id="python" data-text="Python" tabindex="-1">Python</h3><p><strong>Prerequisites</strong></p> <ul> <li>Python 2.7 or Python 3.5+</li> <li>The pip package management tool</li> <li><p>The Google APIs Client Library for Python:</p> <pre class="prettyprint" translate="no" dir="ltr"><code translate="no" dir="ltr">pip install --upgrade google-api-python-client </code></pre></li> <li><p>The <code translate="no" dir="ltr">google-auth-oauthlib</code> and <code translate="no" dir="ltr">google-auth-httplib2</code> libraries for user authorization:</p> <pre class="prettyprint" translate="no" dir="ltr"><code translate="no" dir="ltr">pip install --upgrade google-auth-oauthlib google-auth-httplib2 </code></pre></li> </ul> <p><strong>Set up</strong></p> <ol> <li>Follow instructions in the API documentation to create or select a project for your app and enable the API.</li> <li>Depending on the type of data the method is accessing, create an API key (public data) or create an OAuth 2.0 client ID (private data).</li> <li>Set the application type to <strong>Desktop app</strong>.</li> <li>If you created an OAuth 2.0 client ID, download the JSON file containing your OAuth 2.0 credentials. This file is named something similar to <code translate="no" dir="ltr">client_secret_<var translate="no">CLIENTID</var>.json</code>, where <code translate="no" dir="ltr"><var translate="no">CLIENTID</var></code> is the client ID for your project.</li> <li>Copy the code sample to a local file and modify the sample to correctly identify your API key or client secrets file. In the sample, the API key value is <code translate="no" dir="ltr"><var translate="no">YOUR_API_KEY</var></code>, and the client secrets file location is <code translate="no" dir="ltr"><var translate="no">YOUR_CLIENT_SECRET_FILE.json</var></code>.</li> </ol> <p><strong>Execute code sample</strong></p> <p>Use the following command to run the example:</p> <pre class="prettyprint" translate="no" dir="ltr"><code translate="no" dir="ltr"> python sample.py </code></pre> <p>Most samples print an API response (or something else) to <code translate="no" dir="ltr">STDOUT</code>.</p></section> <section><h3 id="ruby" data-text="Ruby" tabindex="-1">Ruby</h3><p><strong>Prerequisites</strong></p> <ul> <li>Ruby 2.0 or greater</li> <li><p>The Google APIs Client Library for Ruby:</p> <pre class="prettyprint" translate="no" dir="ltr"><code translate="no" dir="ltr">gem install google-api-client` </code></pre></li> </ul> <p><strong>Set up</strong></p> <ol> <li>Follow instructions in the API documentation to create or select a project for your app and enable the API.</li> <li>Depending on the type of data the method is accessing, create an API key (public data) or create an OAuth 2.0 client ID (private data).</li> <li>Set the application type to <strong>Desktop app</strong>.</li> <li>If you created an OAuth 2.0 client ID, download the JSON file containing your OAuth 2.0 credentials. This file is named something similar to <code translate="no" dir="ltr">client_secret_<var translate="no">CLIENTID</var>.json</code>, where <code translate="no" dir="ltr"><var translate="no">CLIENTID</var></code> is the client ID for your project.</li> <li>Copy the code sample to a local file and modify the sample to correctly identify your API key or client secrets file. In the sample, the API key value is <code translate="no" dir="ltr"><var translate="no">YOUR_API_KEY</var></code>, and the client secrets file location is <code translate="no" dir="ltr"><var translate="no">YOUR_CLIENT_SECRET_FILE.json</var></code>.</li> </ol> <p><strong>Execute code sample</strong></p> <p>Use the following command to run the example:</p> <pre class="prettyprint" translate="no" dir="ltr"><code translate="no" dir="ltr"> ruby sample.rb </code></pre> <p>Most samples print an API response (or something else) to <code translate="no" dir="ltr">STDOUT</code>.</p></section> </div> <h2 id="troubleshoot_sample_issues" data-text="Troubleshoot sample issues" tabindex="-1">Troubleshoot sample issues</h2> <h3 id="authorization_dialog_doesnt_appear" data-text="Authorization dialog doesn't appear" tabindex="-1">Authorization dialog doesn't appear</h3> <p>The APIs Explorer uses a popup to grant access to your private data. If your browser blocks popups, this popup won't appear and you won't be able to grant access.</p> <p>If you click "Allow" in the authorization screen and nothing happens, try changing your browser's popup settings to enable popups.</p> <h3 id="received_a_401_or_403_error" data-text="Received a 401 or 403 error" tabindex="-1">Received a 401 or 403 error</h3> <p>If you're getting a 401 or 403 error when testing a sample, it's likely due to a problem with one of the following:</p> <ul> <li>The API isn't enabled for your project. Review instructions for your API on how to create a project and enable an API.</li> <li>You're using the wrong authorization type (API key instead of OAuth 2.0).</li> <li>You're using OAuth 2.0, but with too narrow a scope.</li> <li>When you set up your API key, you set up restrictions to prevent unauthorized use of your credentials. However, the request isn't meeting those restrictions. For further information, refer to <a href="https://cloud.google.com/docs/authentication/api-keys?visit_id=637719986022404182-1571464047&rd=1#api_key_restrictions" target="_blank" class="external">Using API key restrictions</a>.</li> </ul> <h3 id="received_a_warning_about_mixed_content" data-text="Received a warning about mixed content" tabindex="-1">Received a warning about mixed content</h3> <p>If you use Google Cloud Endpoints and you are running your endpoint in a <a href="https://cloud.google.com/appengine/docs/java/endpoints/test_deploy#running_and_testing_api_backends_locally" target="_blank" class="external">develoment server</a>, your browser might give a warning about mixed content. This warning occurs because APIs Explorer is loaded over HTTPS, but when your API runs locally, it is hosted on HTTP.</p> <p>To hide this warning using Chrome, start a Chrome session with special flags as follows:</p> <pre class="prettyprint" translate="no" dir="ltr"><code translate="no" dir="ltr"><var translate="no">path/to/chrome</var> --user-data-dir=test --unsafely-treat-insecure-origin-as-secure=http://localhost:<var translate="no">port</var> </code></pre> <p>For example:</p> <pre class="prettyprint" translate="no" dir="ltr"><code translate="no" dir="ltr">/usr/bin/google-chrome-stable --user-data-dir=test --unsafely-treat-insecure-origin-as-secure=http://localhost:8080 </code></pre> <p>You should only hide this warning for local testing purposes.</p> <h4 id="javascript-only_gapi_is_not_defined" data-text="JavaScript-only: gapi is not defined" tabindex="-1">JavaScript-only: gapi is not defined</h4> <p>A "gapi is not defined" error occurs when the JavaScript code tries to call the Google API Client Library for JavaScript before the library has loaded. Make sure that your code that references the <code translate="no" dir="ltr">gapi</code> variable isn't called until after the client library has loaded.</p> </div> <devsite-recommendations display="in-page" hidden yield> </devsite-recommendations> <devsite-thumb-rating position="footer"> </devsite-thumb-rating> <devsite-recommendations id="recommendations-link" yield></devsite-recommendations> <div class="devsite-floating-action-buttons"> </div> </article> <devsite-content-footer class="nocontent"> <p>Except as otherwise noted, the content of this page is licensed under the <a href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 License</a>, and code samples are licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 License</a>. For details, see the <a href="https://developers.google.com/site-policies">Google Developers Site Policies</a>. Java is a registered trademark of Oracle and/or its affiliates.</p> <p>Last updated 2023-10-03 UTC.</p> </devsite-content-footer> <devsite-notification > </devsite-notification> <div class="devsite-content-data"> <template class="devsite-content-data-template"> [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2023-10-03 UTC."],[],[]] </template> </div> </devsite-content> </main> <devsite-footer-promos class="devsite-footer"> </devsite-footer-promos> <devsite-footer-linkboxes class="devsite-footer"> <nav class="devsite-footer-linkboxes nocontent" aria-label="Footer links"> <ul class="devsite-footer-linkboxes-list"> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Connect</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="//googledevelopers.blogspot.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Blog </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://www.instagram.com/googlefordevs/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > Instagram </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://www.linkedin.com/showcase/googledevelopers/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" > LinkedIn </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//twitter.com/googledevs" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" > X (Twitter) </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//www.youtube.com/user/GoogleDevelopers" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" > YouTube </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Programs</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="//www.womentechmakers.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Women Techmakers </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/community/gdg" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > Google Developer Groups </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/community/experts" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" > Google Developer Experts </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/community/accelerators" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" > Accelerators </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/community/gdsc" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" > Google Developer Student Clubs </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Developer consoles</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="//console.developers.google.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Google API Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//console.cloud.google.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > Google Cloud Platform Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//play.google.com/apps/publish" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" > Google Play Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//console.firebase.google.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" > Firebase Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//console.actions.google.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" > Actions on Google Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//cast.google.com/publish" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 6)" > Cast SDK Developer Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//chrome.google.com/webstore/developer/dashboard" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 7)" > Chrome Web Store Dashboard </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//console.home.google.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 8)" > Google Home Developer Console </a> </li> </ul> </li> </ul> </nav> </devsite-footer-linkboxes> <devsite-footer-utility class="devsite-footer"> <div class="devsite-footer-utility nocontent"> <nav class="devsite-footer-sites" aria-label="Other Google Developers websites"> <a href="https://developers.google.com/" class="devsite-footer-sites-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Developers Link"> <picture> <img class="devsite-footer-sites-logo" src="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/lockup-google-for-developers.svg" loading="lazy" alt="Google Developers"> </picture> </a> <ul class="devsite-footer-sites-list"> <li class="devsite-footer-sites-item"> <a href="//developer.android.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Android Link" > Android </a> </li> <li class="devsite-footer-sites-item"> <a href="//developer.chrome.com/home" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Chrome Link" > Chrome </a> </li> <li class="devsite-footer-sites-item"> <a href="//firebase.google.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Firebase Link" > Firebase </a> </li> <li class="devsite-footer-sites-item"> <a href="//cloud.google.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Cloud Platform Link" > Google Cloud Platform </a> </li> <li class="devsite-footer-sites-item"> <a href="//ai.google.dev/" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google AI Link" > Google AI </a> </li> <li class="devsite-footer-sites-item"> <a href="/products" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer All products Link" > All products </a> </li> </ul> </nav> <nav class="devsite-footer-utility-links" aria-label="Utility links"> <ul class="devsite-footer-utility-list"> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="/terms/site-terms" data-category="Site-Wide Custom Events" data-label="Footer Terms link" > Terms </a> </li> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="//policies.google.com/privacy" data-category="Site-Wide Custom Events" data-label="Footer Privacy link" > Privacy </a> </li> <li class="devsite-footer-utility-item glue-cookie-notification-bar-control"> <a class="devsite-footer-utility-link gc-analytics-event" href="#" data-category="Site-Wide Custom Events" data-label="Footer Manage cookies link" aria-hidden="true" > Manage cookies </a> </li> <li class="devsite-footer-utility-item devsite-footer-utility-button"> <span class="devsite-footer-utility-description">Sign up for the Google for Developers newsletter</span> <a class="devsite-footer-utility-link gc-analytics-event" href="/newsletter/subscribe" data-category="Site-Wide Custom Events" data-label="Footer Subscribe link" > Subscribe </a> </li> </ul> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" >English</a> </li> <li role="presentation"> <a role="menuitem" lang="de" >Deutsch</a> </li> <li role="presentation"> <a role="menuitem" lang="es" >Español</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419" >Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="id" >Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="it" >Italiano</a> </li> <li role="presentation"> <a role="menuitem" lang="pl" >Polski</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br" >Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="vi" >Tiếng Việt</a> </li> <li role="presentation"> <a role="menuitem" lang="tr" >Türkçe</a> </li> <li role="presentation"> <a role="menuitem" lang="ru" >Русский</a> </li> <li role="presentation"> <a role="menuitem" lang="he" >עברית</a> </li> <li role="presentation"> <a role="menuitem" lang="ar" >العربيّة</a> </li> <li role="presentation"> <a role="menuitem" lang="fa" >فارسی</a> </li> <li role="presentation"> <a role="menuitem" lang="hi" >हिंदी</a> </li> <li role="presentation"> <a role="menuitem" lang="bn" >বাংলা</a> </li> <li role="presentation"> <a role="menuitem" lang="th" >ภาษาไทย</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn" >中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_tw" >中文 – 繁體</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" >日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" >한국어</a> </li> </ul> </devsite-language-selector> </nav> </div> </devsite-footer-utility> <devsite-panel></devsite-panel> <devsite-concierge data-info-panel data-ai-panel data-api-explorer-panel > </devsite-concierge> </section></section> <devsite-sitemask></devsite-sitemask> <devsite-snackbar></devsite-snackbar> <devsite-tooltip ></devsite-tooltip> <devsite-heading-link></devsite-heading-link> <devsite-analytics> <script type="application/json" analytics>[{"dimensions": {"dimension3": false, "dimension1": "Signed out", "dimension5": "en", "dimension4": "Google APIs Explorer", "dimension11": false, "dimension6": "en"}, "gaid": "UA-24532603-1", "metrics": {"ratings_count": "metric2", "ratings_value": "metric1"}, "purpose": 1}]</script> <script type="application/json" tag-management>{"at": "True", "ga4": [{"id": "G-272J68FCRF", "purpose": 1}], "ga4p": [{"id": "G-272J68FCRF", "purpose": 1}], "gtm": [], "parameters": {"internalUser": "False", "language": {"machineTranslated": "False", "requested": "en", "served": "en"}, "pageType": "article", "projectName": "Google APIs Explorer", "signedIn": "False", "tenant": "developers", "recommendations": {"sourcePage": "", "sourceType": 0, "sourceRank": 0, "sourceIdenticalDescriptions": 0, "sourceTitleWords": 0, "sourceDescriptionWords": 0, "experiment": ""}, "experiment": {"ids": ""}}}</script> </devsite-analytics> <devsite-badger></devsite-badger> <script nonce="EoAV7MzS1L3K6TLgsVcabAFkhXrqaZ"> (function(d,e,v,s,i,t,E){d['GoogleDevelopersObject']=i; t=e.createElement(v);t.async=1;t.src=s;E=e.getElementsByTagName(v)[0]; E.parentNode.insertBefore(t,E);})(window, document, 'script', 'https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/js/app_loader.js', '[1,"en",null,"/js/devsite_app_module.js","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers","https://developers-dot-devsite-v2-prod.appspot.com",null,null,["/_pwa/developers/manifest.json","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/images/video-placeholder.svg","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/favicon-new.png","https://fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"],1,null,[1,6,8,12,14,17,21,25,50,52,63,70,75,76,80,87,91,92,93,97,98,100,101,102,103,104,105,107,108,109,110,112,113,117,118,120,122,124,125,126,127,129,130,131,132,133,134,135,136,138,140,141,147,148,149,151,152,156,157,158,159,161,163,164,168,169,170,179,180,182,183,186,191,193,196],"AIzaSyAP-jjEJBzmIyKR4F-3XITp8yM9T1gEEI8","AIzaSyB6xiKGDR5O3Ak2okS4rLkauxGUG7XP0hg","developers.google.com","AIzaSyAQk0fBONSGUqCNznf6Krs82Ap1-NV6J4o","AIzaSyCCxcqdrZ_7QMeLCRY20bh_SXdAYqy70KY",null,null,null,["Cloud__enable_legacy_calculator_redirect","CloudShell__cloud_shell_button","Profiles__enable_developer_profiles_callout","Profiles__enable_awarding_url","Search__enable_ai_eligibility_checks","Cloud__enable_free_trial_server_call","MiscFeatureFlags__enable_project_variables","CloudShell__cloud_code_overflow_menu","Concierge__enable_concierge","MiscFeatureFlags__developers_footer_dark_image","Concierge__enable_pushui","Profiles__enable_dashboard_curated_recommendations","MiscFeatureFlags__enable_firebase_utm","Profiles__require_profile_eligibility_for_signin","Search__enable_page_map","Profiles__enable_completecodelab_endpoint","Cloud__enable_cloud_dlp_service","Profiles__enable_release_notes_notifications","Cloud__enable_cloud_shell","Cloud__enable_llm_concierge_chat","Profiles__enable_recognition_badges","Search__enable_dynamic_content_confidential_banner","Profiles__enable_complete_playlist_endpoint","MiscFeatureFlags__enable_explain_this_code","DevPro__enable_developer_subscriptions","MiscFeatureFlags__enable_view_transitions","TpcFeatures__enable_required_headers","Profiles__enable_page_saving","Cloud__enable_cloudx_experiment_ids","MiscFeatureFlags__emergency_css","TpcFeatures__enable_mirror_tenant_redirects","BookNav__enable_tenant_cache_key","Profiles__enable_public_developer_profiles","Profiles__enable_profile_collections","Cloud__enable_cloudx_ping","MiscFeatureFlags__developers_footer_image","Significatio__enable_by_tenant","MiscFeatureFlags__enable_variable_operator","Cloud__enable_cloud_shell_fte_user_flow","Search__enable_ai_search_summaries","Search__enable_ai_search_summaries_restricted","Analytics__enable_clearcut_logging","EngEduTelemetry__enable_engedu_telemetry","DevPro__enable_cloud_innovators_plus","Concierge__enable_concierge_restricted","Search__enable_suggestions_from_borg","Experiments__reqs_query_experiments","Cloud__enable_cloud_facet_chat"],null,null,"AIzaSyBLEMok-5suZ67qRPzx0qUtbnLmyT_kCVE","https://developerscontentserving-pa.clients6.google.com","AIzaSyCM4QpTRSqP5qI4Dvjt4OAScIN8sOUlO-k","https://developerscontentsearch-pa.clients6.google.com",1,4,null,"https://developerprofiles-pa.clients6.google.com",[1,"developers","Google for Developers","developers.google.com",null,"developers-dot-devsite-v2-prod.appspot.com",null,null,[1,1,[1],null,null,null,null,null,null,null,null,[1],null,null,null,null,null,null,[1],[1,null,null,[1,20],"/recommendations/information"],null,null,null,[1,1,1],[1,1,null,1,1]],null,[null,null,null,null,null,null,"/images/lockup-new.svg","/images/touchicon-180-new.png",null,null,null,null,1,null,null,null,null,null,null,null,null,1,null,null,null,"/images/lockup-dark-theme-new.svg",[]],[],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[6,1,14,15,20,22,23,29,32,36],null,[[null,null,null,[3,7,10,2,39,17,4,32,24,11,12,13,34,15,25],null,null,[1,[["docType","Choose a content type",[["Tutorial",null,null,null,null,null,null,null,null,"Tutorial"],["Guide",null,null,null,null,null,null,null,null,"Guide"],["Sample",null,null,null,null,null,null,null,null,"Sample"]]],["product","Choose a product",[["Android",null,null,null,null,null,null,null,null,"Android"],["ARCore",null,null,null,null,null,null,null,null,"ARCore"],["ChromeOS",null,null,null,null,null,null,null,null,"ChromeOS"],["Firebase",null,null,null,null,null,null,null,null,"Firebase"],["Flutter",null,null,null,null,null,null,null,null,"Flutter"],["Assistant",null,null,null,null,null,null,null,null,"Google Assistant"],["GoogleCloud",null,null,null,null,null,null,null,null,"Google Cloud"],["GoogleMapsPlatform",null,null,null,null,null,null,null,null,"Google Maps Platform"],["GooglePay",null,null,null,null,null,null,null,null,"Google Pay & Google Wallet"],["GooglePlay",null,null,null,null,null,null,null,null,"Google Play"],["Tensorflow",null,null,null,null,null,null,null,null,"TensorFlow"]]],["category","Choose a topic",[["AiAndMachineLearning",null,null,null,null,null,null,null,null,"AI and Machine Learning"],["Data",null,null,null,null,null,null,null,null,"Data"],["Enterprise",null,null,null,null,null,null,null,null,"Enterprise"],["Gaming",null,null,null,null,null,null,null,null,"Gaming"],["Mobile",null,null,null,null,null,null,null,null,"Mobile"],["Web",null,null,null,null,null,null,null,null,"Web"]]]]]],[1,1],null,1],[[["UA-24532603-1"],["UA-22084204-5"],null,null,["UA-24532603-5"],null,null,[["G-272J68FCRF"],null,null,[["G-272J68FCRF",2]]],[["UA-24532603-1",2]],null,[["UA-24532603-5",2]],null,1],[[12,9],[15,12],[13,10],[3,2],[16,13],[11,8],[6,5],[4,3],[1,1],[14,11],[5,4]],[[1,1],[2,2]]],null,4,null,null,null,null,null,null,null,null,null,null,null,null,null,"developers.devsite.google"],null,"pk_live_5170syrHvgGVmSx9sBrnWtA5luvk9BwnVcvIi7HizpwauFG96WedXsuXh790rtij9AmGllqPtMLfhe2RSwD6Pn38V00uBCydV4m"]') </script> <devsite-a11y-announce></devsite-a11y-announce> </body> </html>