CINXE.COM
Manage albums | Google Photos APIs | 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/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/css/app.css"> <link rel="shortcut icon" href="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/images/favicon-new.png"> <link rel="apple-touch-icon" href="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/images/touchicon-180-new.png"><link rel="canonical" href="https://developers.google.com/photos/library/guides/manage-albums"><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/photos/library/guides/manage-albums" /><link rel="alternate" hreflang="x-default" href="https://developers.google.com/photos/library/guides/manage-albums" /><link rel="alternate" hreflang="ar" href="https://developers.google.com/photos/library/guides/manage-albums?hl=ar" /><link rel="alternate" hreflang="bn" href="https://developers.google.com/photos/library/guides/manage-albums?hl=bn" /><link rel="alternate" hreflang="zh-Hans" href="https://developers.google.com/photos/library/guides/manage-albums?hl=zh-cn" /><link rel="alternate" hreflang="zh-Hant" href="https://developers.google.com/photos/library/guides/manage-albums?hl=zh-tw" /><link rel="alternate" hreflang="fa" href="https://developers.google.com/photos/library/guides/manage-albums?hl=fa" /><link rel="alternate" hreflang="fr" href="https://developers.google.com/photos/library/guides/manage-albums?hl=fr" /><link rel="alternate" hreflang="de" href="https://developers.google.com/photos/library/guides/manage-albums?hl=de" /><link rel="alternate" hreflang="he" href="https://developers.google.com/photos/library/guides/manage-albums?hl=he" /><link rel="alternate" hreflang="hi" href="https://developers.google.com/photos/library/guides/manage-albums?hl=hi" /><link rel="alternate" hreflang="id" href="https://developers.google.com/photos/library/guides/manage-albums?hl=id" /><link rel="alternate" hreflang="it" href="https://developers.google.com/photos/library/guides/manage-albums?hl=it" /><link rel="alternate" hreflang="ja" href="https://developers.google.com/photos/library/guides/manage-albums?hl=ja" /><link rel="alternate" hreflang="ko" href="https://developers.google.com/photos/library/guides/manage-albums?hl=ko" /><link rel="alternate" hreflang="pl" href="https://developers.google.com/photos/library/guides/manage-albums?hl=pl" /><link rel="alternate" hreflang="pt-BR" href="https://developers.google.com/photos/library/guides/manage-albums?hl=pt-br" /><link rel="alternate" hreflang="ru" href="https://developers.google.com/photos/library/guides/manage-albums?hl=ru" /><link rel="alternate" hreflang="es-419" href="https://developers.google.com/photos/library/guides/manage-albums?hl=es-419" /><link rel="alternate" hreflang="th" href="https://developers.google.com/photos/library/guides/manage-albums?hl=th" /><link rel="alternate" hreflang="tr" href="https://developers.google.com/photos/library/guides/manage-albums?hl=tr" /><link rel="alternate" hreflang="vi" href="https://developers.google.com/photos/library/guides/manage-albums?hl=vi" /><title>Manage albums | Google Photos APIs | Google for Developers</title> <meta property="og:title" content="Manage albums | Google Photos APIs | Google for Developers"><meta property="og:url" content="https://developers.google.com/photos/library/guides/manage-albums"><meta property="og:image" content="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/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": "Manage albums" } </script><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Google Photos APIs", "item": "https://developers.google.com/photos" },{ "@type": "ListItem", "position": 2, "name": "Manage albums", "item": "https://developers.google.com/photos/library/guides/manage-albums" }] } </script> <!-- Define name of title that you must set in the files that use this template --> <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> <a href="#main-content" class="skip-link button"> Skip to main content </a> <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"> <a href="https://developers.google.com/photos"> <div class="devsite-product-logo-container" size="medium" > <picture> <img class="devsite-product-logo" alt="Google Photos APIs" src="https://fonts.gstatic.com/s/i/productlogos/photos/v9/web-64dp/logo_photos_color_1x_web_64dp.png" srcset=" https://fonts.gstatic.com/s/i/productlogos/photos/v9/web-64dp/logo_photos_color_1x_web_64dp.png" sizes="64px" loading="lazy" > </picture> </div> </a> <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/photos" 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 Photos APIs" > <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>Photos APIs </a> </li> </ul> </span> </div> <div class="devsite-top-logo-row-middle"> <div class="devsite-header-upper-tabs"> <devsite-tabs class="upper-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Upper tabs"> <tab > <a href="https://developers.google.com/photos/overview/about" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/photos/overview/about" track-type="nav" track-metadata-position="nav - overview" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Overview" track-name="overview" > Overview </a> </tab> <tab class="devsite-dropdown "> <a href="https://developers.google.com/photos/picker/guides/get-started-picker" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/photos/picker/guides/get-started-picker" track-type="nav" track-metadata-position="nav - picker api" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Picker API" track-name="picker api" > Picker API </a> <button aria-haspopup="menu" aria-expanded="false" aria-label="Dropdown menu for Picker API" track-type="nav" track-metadata-eventdetail="https://developers.google.com/photos/picker/guides/get-started-picker" track-metadata-position="nav - picker api" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Picker API" track-name="picker api" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></button> <div class="devsite-tabs-dropdown" role="menu" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"> <a href="https://developers.google.com/photos/picker/guides/get-started-picker" track-type="nav" track-metadata-eventdetail="https://developers.google.com/photos/picker/guides/get-started-picker" track-metadata-position="nav - picker api" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Guides </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/photos/picker/reference/rest" track-type="nav" track-metadata-eventdetail="https://developers.google.com/photos/picker/reference/rest" track-metadata-position="nav - picker api" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Reference </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/photos/picker/samples" track-type="nav" track-metadata-eventdetail="https://developers.google.com/photos/picker/samples" track-metadata-position="nav - picker api" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Samples </div> </a> </li> </ul> </div> </div> </div> </tab> <tab class="devsite-dropdown devsite-active "> <a href="https://developers.google.com/photos/library/guides/get-started-library" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/photos/library/guides/get-started-library" track-type="nav" track-metadata-position="nav - library api" track-metadata-module="primary nav" aria-label="Library API, selected" data-category="Site-Wide Custom Events" data-label="Tab: Library API" track-name="library api" > Library API </a> <button aria-haspopup="menu" aria-expanded="false" aria-label="Dropdown menu for Library API" track-type="nav" track-metadata-eventdetail="https://developers.google.com/photos/library/guides/get-started-library" track-metadata-position="nav - library api" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Library API" track-name="library api" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></button> <div class="devsite-tabs-dropdown" role="menu" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"> <a href="https://developers.google.com/photos/library/guides/get-started-library" track-type="nav" track-metadata-eventdetail="https://developers.google.com/photos/library/guides/get-started-library" track-metadata-position="nav - library api" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Guides </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/photos/library/reference/rest" track-type="nav" track-metadata-eventdetail="https://developers.google.com/photos/library/reference/rest" track-metadata-position="nav - library api" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Reference </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/photos/library/samples" track-type="nav" track-metadata-eventdetail="https://developers.google.com/photos/library/samples" track-metadata-position="nav - library api" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Samples </div> </a> </li> </ul> </div> </div> </div> </tab> <tab > <a href="https://developers.google.com/photos/support/how-to-get-help" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/photos/support/how-to-get-help" 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> <tab > <a href="https://developers.google.com/photos/partner-program/overview" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/photos/partner-program/overview" track-type="nav" track-metadata-position="nav - partner program" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Partner Program" track-name="partner program" > Partner Program </a> </tab> </nav> </devsite-tabs> </div> <devsite-search enable-signin enable-search enable-suggestions enable-query-completion project-name="Google Photos APIs" tenant-name="Google for Developers" project-scope="/photos" url-scoped="https://developers.google.com/s/results/photos" > <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-product-id-row" > <div class="devsite-product-description-row"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item "> <a href="https://developers.google.com/photos/library/guides/get-started-library" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Lower Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="" > Library API </a> </li> </ul> </div> </div> <div class="devsite-doc-set-nav-row"> <devsite-tabs class="lower-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Lower tabs"> <tab class="devsite-active"> <a href="https://developers.google.com/photos/library/guides/get-started-library" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/photos/library/guides/get-started-library" track-type="nav" track-metadata-position="nav - guides" track-metadata-module="primary nav" aria-label="Guides, selected" data-category="Site-Wide Custom Events" data-label="Tab: Guides" track-name="guides" > Guides </a> </tab> <tab > <a href="https://developers.google.com/photos/library/reference/rest" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/photos/library/reference/rest" track-type="nav" track-metadata-position="nav - reference" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Reference" track-name="reference" > Reference </a> </tab> <tab > <a href="https://developers.google.com/photos/library/samples" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/photos/library/samples" track-type="nav" track-metadata-position="nav - samples" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Samples" track-name="samples" > Samples </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"> <a href="https://developers.google.com/photos"> <div class="devsite-product-logo-container" size="medium" > <picture> <img class="devsite-product-logo" alt="Google Photos APIs" src="https://fonts.gstatic.com/s/i/productlogos/photos/v9/web-64dp/logo_photos_color_1x_web_64dp.png" srcset=" https://fonts.gstatic.com/s/i/productlogos/photos/v9/web-64dp/logo_photos_color_1x_web_64dp.png" sizes="64px" loading="lazy" > </picture> </div> </a> <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/photos" 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 Photos APIs" > <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>Photos APIs </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="/photos/overview/about" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Overview" track-name="overview" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Overview" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Overview </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/photos/picker/guides/get-started-picker" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Picker API" track-name="picker api" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Picker API" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Picker API </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Picker API" track-name="picker api" > <span class="devsite-nav-text" tooltip menu="Picker API"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Picker API"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/photos/library/guides/get-started-library" class="devsite-nav-title gc-analytics-event devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Library API" track-name="library api" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Library API" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Library API </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Library API" track-name="library api" > <span class="devsite-nav-text" tooltip menu="Library API"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Library API"> </span> </span> </li> </ul> <ul class="devsite-nav-responsive-tabs"> <li class="devsite-nav-item"> <a href="/photos/library/guides/get-started-library" class="devsite-nav-title gc-analytics-event devsite-nav-has-children devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Guides" track-name="guides" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Guides" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip menu="_book"> Guides </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="_book"> </span> </a> </li> <li class="devsite-nav-item"> <a href="/photos/library/reference/rest" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Reference" track-name="reference" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Reference" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Reference </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/photos/library/samples" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Samples" track-name="samples" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Samples" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Samples </span> </a> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/photos/support/how-to-get-help" 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="globalNav" 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> <li class="devsite-nav-item"> <a href="/photos/partner-program/overview" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Partner Program" track-name="partner program" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Partner Program" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Partner Program </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="/photos/library/guides/get-started-library" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /photos/library/guides/get-started-library" track-type="bookNav" track-name="click" track-metadata-eventdetail="/photos/library/guides/get-started-library" ><span class="devsite-nav-text" tooltip>Get started</span></a></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Reading media</span> </div></li> <li class="devsite-nav-item"><a href="/photos/library/guides/list" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /photos/library/guides/list" track-type="bookNav" track-name="click" track-metadata-eventdetail="/photos/library/guides/list" ><span class="devsite-nav-text" tooltip>List library contents</span></a></li> <li class="devsite-nav-item"><a href="/photos/library/guides/apply-filters" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /photos/library/guides/apply-filters" track-type="bookNav" track-name="click" track-metadata-eventdetail="/photos/library/guides/apply-filters" ><span class="devsite-nav-text" tooltip>Search and apply filters</span></a></li> <li class="devsite-nav-item"><a href="/photos/library/guides/access-media-items" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /photos/library/guides/access-media-items" track-type="bookNav" track-name="click" track-metadata-eventdetail="/photos/library/guides/access-media-items" ><span class="devsite-nav-text" tooltip>Access media items</span></a></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Uploading media</span> </div></li> <li class="devsite-nav-item"><a href="/photos/library/guides/upload-media" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /photos/library/guides/upload-media" track-type="bookNav" track-name="click" track-metadata-eventdetail="/photos/library/guides/upload-media" ><span class="devsite-nav-text" tooltip>Upload media</span></a></li> <li class="devsite-nav-item"><a href="/photos/library/guides/resumable-uploads" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /photos/library/guides/resumable-uploads" track-type="bookNav" track-name="click" track-metadata-eventdetail="/photos/library/guides/resumable-uploads" ><span class="devsite-nav-text" tooltip>Resumable uploads</span></a></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Organizing media</span> </div></li> <li class="devsite-nav-item"><a href="/photos/library/guides/manage-albums" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /photos/library/guides/manage-albums" track-type="bookNav" track-name="click" track-metadata-eventdetail="/photos/library/guides/manage-albums" ><span class="devsite-nav-text" tooltip>Manage albums</span></a></li> <li class="devsite-nav-item"><a href="/photos/library/guides/manage-media" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /photos/library/guides/manage-media" track-type="bookNav" track-name="click" track-metadata-eventdetail="/photos/library/guides/manage-media" ><span class="devsite-nav-text" tooltip>Manage media items</span></a></li> <li class="devsite-nav-item"><a href="/photos/library/guides/add-enrichments" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /photos/library/guides/add-enrichments" track-type="bookNav" track-name="click" track-metadata-eventdetail="/photos/library/guides/add-enrichments" ><span class="devsite-nav-text" tooltip>Add enrichments</span></a></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Reference</span> </div></li> <li class="devsite-nav-item"><a href="/photos/library/reference/rest" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /photos/library/reference/rest" track-type="bookNav" track-name="click" track-metadata-eventdetail="/photos/library/reference/rest" ><span class="devsite-nav-text" tooltip>Library API reference</span></a></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Samples</span> </div></li> <li class="devsite-nav-item"><a href="/photos/library/samples" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /photos/library/samples" track-type="bookNav" track-name="click" track-metadata-eventdetail="/photos/library/samples" ><span class="devsite-nav-text" tooltip>Library API samples</span></a></li> </ul> <ul class="devsite-nav-list" menu="Picker API" aria-label="Side menu" hidden> <li class="devsite-nav-item"> <a href="/photos/picker/guides/get-started-picker" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Guides" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Guides </span> </a> </li> <li class="devsite-nav-item"> <a href="/photos/picker/reference/rest" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Reference" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Reference </span> </a> </li> <li class="devsite-nav-item"> <a href="/photos/picker/samples" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Samples" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Samples </span> </a> </li> </ul> <ul class="devsite-nav-list" menu="Library API" aria-label="Side menu" hidden> <li class="devsite-nav-item"> <a href="/photos/library/guides/get-started-library" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Guides" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Guides </span> </a> </li> <li class="devsite-nav-item"> <a href="/photos/library/reference/rest" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Reference" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Reference </span> </a> </li> <li class="devsite-nav-item"> <a href="/photos/library/samples" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Samples" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Samples </span> </a> </li> </ul> </div> </div> </nav> </devsite-book-nav> <section id="gc-wrapper"> <main role="main" id="main-content" class="devsite-main-content" has-book-nav > <devsite-content> <article class="devsite-article"> <div class="devsite-banner devsite-banner-announcement nocontent" background="google-red" > <div class="devsite-banner-message"> <div class="devsite-banner-message-text"> Learn about the new Picker API and important Library API changes. <a href="/photos/support/updates">Details here</a>. </div> </div> </div> <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/photos" 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 Photos APIs" > Google Photos APIs </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/photos/library/guides/get-started-library" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="4" track-type="globalNav" track-name="breadcrumb" track-metadata-position="4" track-metadata-eventdetail="" > Library API </a> </li> </ul> <devsite-thumb-rating position="header"> </devsite-thumb-rating> </div> <h1 class="devsite-page-title" tabindex="-1"> Manage albums </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> <devsite-key-takeaways></devsite-key-takeaways> <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 "> <!-- Define name of the body that you define in the files that use this template --> <p>In Google Photos, you can organize photos and other media items using albums. A media item can be associated with one or more albums. To start associating media items with an album, you need to create the album first.</p> <h2 id="required-authentication-scopes" data-text="Required authorization scopes" tabindex="-1">Required authorization scopes</h2> <p>Creating albums requires the <code translate="no" dir="ltr">photoslibrary.appendonly</code> scope.</p> <p>Changing the title or cover photo of albums after their creation requires the <code translate="no" dir="ltr">photoslibrary.edit.appcreateddata</code> scope.</p> <p>For more information on scopes, see <a href="/photos/overview/authorization">Authorization scopes</a>.</p> <h2 id="creating-new-album" data-text="Create a new album" tabindex="-1">Create a new album</h2> <p>To create an album, call <a href="/photos/library/reference/rest/v1/albums/create"><code translate="no" dir="ltr">albums.create</code></a> and include the <code translate="no" dir="ltr">title</code>. Note that <code translate="no" dir="ltr">title</code> is restricted to 500 characters.</p> <p>The call returns an <a href="/photos/library/reference/rest/v1/albums">album</a>. Your app can store the album ID from this information and use it for <a href="/photos/library/guides/upload-media">uploading media items</a> to the specific album.</p> <div class="ds-selector-tabs"> <section data-ds-value="rest"> <h3 id="rest" data-text="REST" tabindex="-1">REST</h3> <p>Here is a header for a POST request:</p> <div></div><devsite-code><pre class="devsite-click-to-copy readonly" translate="no" dir="ltr" is-upgraded> POST https://photoslibrary.googleapis.com/v1/albums Content-type: application/json Authorization: Bearer <var translate="no">oauth2-token</var> </pre></devsite-code> <p>The request body looks like this:</p> <div></div><devsite-code><pre class="devsite-click-to-copy readonly" translate="no" dir="ltr" is-upgraded syntax="reStructuredText">{ "album": { "title": "<var translate="no">new-album-title</var>" } }</pre></devsite-code> <p>If successful, the response returns an <a href="/photos/library/reference/rest/v1/albums">album</a>:</p> <div></div><devsite-code><pre class="devsite-click-to-copy readonly" translate="no" dir="ltr" is-upgraded syntax="reStructuredText">{ "productUrl": "<var translate="no">album-product-url</var>", "id": "<var translate="no">album-id</var>", "title": "<var translate="no">album-title</var>", "isWriteable": "<var translate="no">whether-you-can-write-to-this-album</var>" }</pre></devsite-code> </section> </div> <h2 id="retrieve_album_details" data-text="Retrieve album details" tabindex="-1">Retrieve album details</h2> <p>To retrieve the details of an existing album created by your app, call <a href="/photos/library/reference/rest/v1/albums/get"><code translate="no" dir="ltr">albums.get</code></a> and include the <code translate="no" dir="ltr">albumId</code> of the album you want to fetch.</p> <p>The call returns an <a href="/photos/library/reference/rest/v1/albums">album</a>.</p> <div class="ds-selector-tabs"> <section data-ds-value="rest"> <h3 id="rest_1" data-text="REST" tabindex="-1">REST</h3> <p>Here is a header for a GET request:</p> <div></div><devsite-code><pre class="devsite-click-to-copy readonly" translate="no" dir="ltr" is-upgraded> GET https://photoslibrary.googleapis.com/v1/albums/{albumId} Content-type: application/json Authorization: Bearer <var translate="no">oauth2-token</var> </pre></devsite-code> <p>The request body looks like this:</p> <div></div><devsite-code><pre class="devsite-click-to-copy readonly" translate="no" dir="ltr" is-upgraded syntax="reStructuredText">{ "albumId": <var translate="no">album-id</var> }</pre></devsite-code> <p>If successful, the response returns an <a href="/photos/library/reference/rest/v1/albums">album</a>:</p> <div></div><devsite-code><pre class="devsite-click-to-copy readonly" translate="no" dir="ltr" is-upgraded syntax="reStructuredText">{ "id": <var translate="no">album-id</var>, "title": <var translate="no">album-title</var>, "productUrl": <var translate="no">album-product-url</var>, "mediaItemsCount": <var translate="no">media-items-count</var>, "coverPhotoBaseUrl": <var translate="no">cover-photo-base-url</var>, "coverPhotoMediaItemId": <var translate="no">cover-photo-media-item-id</var> }</pre></devsite-code> </section> </div> <h2 id="changing-album-titles-cover-photos" data-text="Change album titles and cover photos" tabindex="-1">Change album titles and cover photos</h2> <p>To change an album title or cover photo, make an <a href="/photos/library/reference/rest/v1/albums/patch"><code translate="no" dir="ltr">album update call</code></a> with the identifier of the album, and include the new title or the new cover photo's media item ID in the request. You'll need to use the <code translate="no" dir="ltr">photoslibrary.edit.appcreateddata</code> <a href="/photos/library/guides/authorization">authorization</a> scope to make the change.</p> <p>Album titles can be no more than 500 characters in length. Cover media items must be owned by the album owner, and belong to the album they will be a cover for.</p> <div class="ds-selector-tabs"> <section data-ds-value="rest"> <h3 id="rest_2" data-text="REST" tabindex="-1">REST</h3> <p>Here's a PATCH request header to update an album's <code translate="no" dir="ltr">title</code> and <code translate="no" dir="ltr">coverPhotomediaItemId</code>.</p> <div></div><devsite-code><pre class="devsite-click-to-copy readonly" translate="no" dir="ltr" is-upgraded> PATCH https://photoslibrary.googleapis.com/v1/albums/<var translate="no">album-id</var>?updateMask=title&updateMask=coverPhotoMediaItemId </pre></devsite-code> <p>This request determines what properties are being updated by including a field mask, indicated by the <code translate="no" dir="ltr">updateMask</code> parameters in the URL. The <code translate="no" dir="ltr">updateMask</code> parameter needs to be passed for each album property that is being updated.</p> <p>For each property you are updating, include its details in the body of the request:</p> <div></div><devsite-code><pre class="devsite-click-to-copy readonly" translate="no" dir="ltr" is-upgraded syntax="reStructuredText">{ "title": "<var translate="no">new-album-title</var>", "coverPhotoMediaItemId": "<var translate="no">new-cover-media-item-id</var>" }</pre></devsite-code> <p>If successful, the response returns the updated <code translate="no" dir="ltr">album</code> details:</p> <div></div><devsite-code><pre class="devsite-click-to-copy devsite-code-highlight readonly" translate="no" dir="ltr" is-upgraded syntax="reStructuredText">{ "id": "<var translate="no">album-id</var>", <strong>"title": "<var translate="no">new-album-title</var>",</strong> "productUrl": "<var translate="no">album-product-url</var>", "isWriteable": "<var translate="no">true-if-user-can-write-to-this-album</var>", "mediaItemsCount": "<var translate="no">number-of-media-items-in-album</var>", "coverPhotoBaseUrl": "<var translate="no"><a href="/photos/library/guides/access-media-items#base-urls">cover-photo-base-url_use-only-with-parameters</a></var>", <strong>"coverPhotoMediaItemId": "<var translate="no">new-cover-media-item-id</var>"</strong> }</pre></devsite-code> </section> </div> <h2 id="adding-items-to-album" data-text="Add media items to an album" tabindex="-1">Add media items to an album</h2> <p>You can add media items created by your app to albums created by your app by calling <a href="/photos/library/reference/rest/v1/albums/batchAddMediaItems"><code translate="no" dir="ltr">albums.batchAddMediaItems</code></a>. Media items are added to the end of the album in the order given in this call.</p> <p>The entire request will fail if an invalid media item or album is specified. Partial success is not supported.</p> <p>Each album can contain up to 20,000 media items. Requests to add more items that would exceed this limit will fail.</p> <p>To add media items to an album, call <a href="/photos/library/reference/rest/v1/albums/batchAddMediaItems"><code translate="no" dir="ltr">albums.batchAddMediaItems</code></a> with the identifiers of the media items and the album.</p> <div class="ds-selector-tabs"> <section data-ds-value="rest"> <h3 id="rest_3" data-text="REST" tabindex="-1">REST</h3> <p>Here is a header for a POST request:</p> <div></div><devsite-code><pre class="devsite-click-to-copy readonly" translate="no" dir="ltr" is-upgraded> POST https://photoslibrary.googleapis.com/v1/albums/<var translate="no">album-id</var>:batchAddMediaItems Content-type: application/json Authorization: Bearer <var translate="no">oauth2-token</var> </pre></devsite-code> <p>The request body looks like this:</p> <div></div><devsite-code><pre class="devsite-click-to-copy readonly" translate="no" dir="ltr" is-upgraded syntax="reStructuredText">{ "mediaItemIds": [ "<var translate="no">media-item-id</var>", "<var translate="no">another-media-item-id</var>", <span class="devsite-syntax-c"> ...</span> <span class="devsite-syntax-c"> ]</span> }</pre></devsite-code> <p>If successful, the response returns an empty JSON response and the HTTP Success status.</p> </section> </div> <h2 id="removing-items-from-album" data-text="Remove media items from an album" tabindex="-1">Remove media items from an album</h2> <p>You can remove media items created by your app to albums created by your app by calling <a href="/photos/library/reference/rest/v1/albums/batchRemoveMediaItems"><code translate="no" dir="ltr">albums.batchRemoveMediaItems</code></a>.</p> <p>The entire request will fail if invalid media items are specified. Partial success is not supported.</p> <p>To remove media items from an album, call <a href="/photos/library/reference/rest/v1/albums/batchRemoveMediaItems"><code translate="no" dir="ltr">albums.batchRemoveMediaItems</code></a> with the identifiers of the media items and the album.</p> <div class="ds-selector-tabs"> <section data-ds-value="rest"> <h3 id="rest_4" data-text="REST" tabindex="-1">REST</h3> <p>Here is a header for a POST request:</p> <div></div><devsite-code><pre class="devsite-click-to-copy readonly" translate="no" dir="ltr" is-upgraded> POST https://photoslibrary.googleapis.com/v1/albums/<var translate="no">album-id</var>:batchRemoveMediaItems Content-type: application/json Authorization: Bearer <var translate="no">oauth2-token</var> </pre></devsite-code> <p>The request body looks like this:</p> <div></div><devsite-code><pre class="devsite-click-to-copy readonly" translate="no" dir="ltr" is-upgraded syntax="reStructuredText">{ "mediaItemIds": [ "<var translate="no">media-item-id</var>", "<var translate="no">another-media-item-id</var>", <span class="devsite-syntax-c"> ...</span> <span class="devsite-syntax-c"> ]</span> }</pre></devsite-code> <p>If successful, the response returns an empty JSON response and the HTTP Success status.</p> </section> <section data-ds-value="java"> <h3 id="java" data-text="Java" tabindex="-1">Java</h3> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Java"><span class="devsite-syntax-k">try</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// List of media item IDs to remove</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">List<String></span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">mediaItemIds</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Arrays</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">asList</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">"MEDIA_ITEM_ID"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"ANOTHER_MEDIA_ITEM_ID"</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// ID of the album to remove media items from</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">String</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">albumId</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"ALBUM_ID"</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Remove all given media items from the album</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">photosLibraryClient</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">batchRemoveMediaItemsFromAlbum</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">albumId</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">mediaItemIds</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">catch</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">ApiException</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">e</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// An exception is thrown if the media items could not be removed</span> <span class="devsite-syntax-p">}</span></pre></devsite-code> </section> <section data-ds-value="php"> <h3 id="php" data-text="PHP" tabindex="-1">PHP</h3> <div></div><devsite-code><pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="PHP"><span class="devsite-syntax-x">try {</span> <span class="devsite-syntax-x"> // List of media item IDs to remove</span> <span class="devsite-syntax-x"> $mediaItemIds = ["MEDIA_ITEM_ID", "ANOTHER_MEDIA_ITEM_ID"];</span> <span class="devsite-syntax-x"> // ID of the album to remove media items from</span> <span class="devsite-syntax-x"> $albumId = "ALBUM_ID";</span> <span class="devsite-syntax-x"> // Remove all given media items from the album</span> <span class="devsite-syntax-x"> $response = $photosLibraryClient->batchRemoveMediaItemsFromAlbum($albumId, $mediaItemIds);</span> <span class="devsite-syntax-x">} catch (\Google\ApiCore\ApiException $e) {</span> <span class="devsite-syntax-x"> // Handle Error</span> <span class="devsite-syntax-x">}</span></pre></devsite-code> </section> </div> </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 2025-02-13 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 2025-02-13 UTC."],[[["In Google Photos, albums are used to organize photos and media items, with each item able to belong to multiple albums."],["You can create, retrieve details of, and modify albums using the Google Photos Library API."],["The API also allows you to add and remove media items from albums, managing their association."],["Different authorization scopes are required for creating albums and for changing their titles or cover photos, ensuring controlled access."],["Each album has a limit of 20,000 media items, and requests exceeding this limit will fail."]]],[]] </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="/community" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > 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 2)" > 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 3)" > Accelerators </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/womentechmakers" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" > Women Techmakers </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//www.techequitycollective.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" > Tech Equity Collective </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/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/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, "dimension11": false, "dimension4": "Google Photos APIs", "dimension6": "en", "dimension5": "en", "dimension1": "Signed out"}, "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 Photos APIs", "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="4noDwoTaM/S/3jF3337Er9hCeakdl2"> (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/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/js/app_loader.js', '[1,"en",null,"/js/devsite_app_module.js","https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f","https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers","https://developers-dot-devsite-v2-prod.appspot.com",null,null,["/_pwa/developers/manifest.json","https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/images/video-placeholder.svg","https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/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,["Profiles__enable_public_developer_profiles","DevPro__enable_cloud_innovators_plus","CloudShell__cloud_shell_button","Analytics__enable_clearcut_logging","TpcFeatures__enable_mirror_tenant_redirects","MiscFeatureFlags__enable_explain_this_code","Concierge__enable_pushui","MiscFeatureFlags__enable_firebase_utm","Cloud__enable_cloudx_ping","Profiles__require_profile_eligibility_for_signin","Significatio__enable_by_tenant","MiscFeatureFlags__enable_project_variables","Search__enable_ai_search_summaries_restricted","DevPro__enable_developer_subscriptions","Cloud__enable_llm_concierge_chat","Cloud__enable_cloud_facet_chat","Profiles__enable_completecodelab_endpoint","Search__enable_dynamic_content_confidential_banner","Profiles__enable_stripe_subscription_management","Cloud__enable_cloudx_experiment_ids","Profiles__enable_release_notes_notifications","MiscFeatureFlags__enable_variable_operator","BookNav__enable_tenant_cache_key","EngEduTelemetry__enable_engedu_telemetry","MiscFeatureFlags__emergency_css","Concierge__enable_concierge","Search__enable_page_map","Profiles__enable_dashboard_curated_recommendations","MiscFeatureFlags__developers_footer_dark_image","Concierge__enable_concierge_restricted","Search__enable_ai_search_summaries","Search__enable_suggestions_from_borg","MiscFeatureFlags__developers_footer_image","MiscFeatureFlags__enable_view_transitions","Cloud__enable_cloud_shell","Profiles__enable_developer_profiles_callout","Profiles__enable_recognition_badges","Search__enable_ai_eligibility_checks","CloudShell__cloud_code_overflow_menu","Concierge__enable_key_takeaways","Profiles__enable_complete_playlist_endpoint","Profiles__enable_join_program_group_endpoint","Cloud__enable_cloud_dlp_service","Cloud__enable_legacy_calculator_redirect","Profiles__enable_awarding_url","TpcFeatures__enable_unmirrored_page_left_nav","Profiles__enable_page_saving","Profiles__enable_completequiz_endpoint","Cloud__enable_free_trial_server_call","Cloud__enable_cloud_shell_fte_user_flow","Experiments__reqs_query_experiments","Profiles__enable_profile_collections"],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],[[13,10],[12,9],[14,11],[1,1],[5,4],[15,12],[16,13],[4,3],[11,8],[3,2],[6,5]],[[2,2],[1,1]]],null,4,null,null,null,null,null,null,null,null,null,null,null,null,null,"developers.devsite.google"],null,"pk_live_5170syrHvgGVmSx9sBrnWtA5luvk9BwnVcvIi7HizpwauFG96WedXsuXh790rtij9AmGllqPtMLfhe2RSwD6Pn38V00uBCydV4m",1]') </script> <devsite-a11y-announce></devsite-a11y-announce> </body> </html>