Usługa Prezentacji zaawansowanych

Usługa Zaawansowane Prezentacje umożliwia dostęp do interfejsu API Prezentacji za pomocą Apps Script. Ta usługa umożliwia skryptom odczytywanie i edytowanie treści w Prezentacjach Google.

Dokumentacja

Szczegółowe informacje o tej usłudze znajdziesz w dokumentacji referencyjnej interfejsu Slides API. Podobnie jak wszystkie usługi zaawansowane w Apps Script, zaawansowana usługa Prezentacji korzysta z tych samych obiektów, metod i parametrów co publiczny interfejs API. Więcej informacji znajdziesz w artykule Jak określane są podpisy metod.

Aby zgłosić problemy i uzyskać inną pomoc, zapoznaj się z przewodnikiem pomocy dotyczącym Prezentacji.

Przykładowy kod

Poniższy przykładowy kod korzysta z wersji 1 interfejsu API.

Utwórz nową prezentację

W tym przykładzie pokazujemy, jak utworzyć nową prezentację za pomocą usługi zaawansowanej Prezentacje. Jest to odpowiednik przykładowego przepisu Utwórz nową prezentację.

advanced/slides.gs
/**  * Create a new presentation.  * @return {string} presentation Id.  * @see https://developers.google.com/slides/api/reference/rest/v1/presentations/create  */ function createPresentation() {   try {     const presentation =       Slides.Presentations.create({'title': 'MyNewPresentation'});     console.log('Created presentation with ID: ' + presentation.presentationId);     return presentation.presentationId;   } catch (e) {     // TODO (developer) - Handle exception     console.log('Failed with error %s', e.message);   } }

Utwórz nowy slajd

Poniższy przykład pokazuje, jak utworzyć nowy slajd w prezentacji o określonym indeksie i z wstępnie zdefiniowanym układem. Jest to odpowiednik przykładowego przepisu Utwórz nowy slajd.

advanced/slides.gs
/**  * Create a new slide.  * @param {string} presentationId The presentation to add the slide to.  * @return {Object} slide  * @see https://developers.google.com/slides/api/reference/rest/v1/presentations/batchUpdate  */ function createSlide(presentationId) {   // You can specify the ID to use for the slide, as long as it's unique.   const pageId = Utilities.getUuid();    const requests = [{     'createSlide': {       'objectId': pageId,       'insertionIndex': 1,       'slideLayoutReference': {         'predefinedLayout': 'TITLE_AND_TWO_COLUMNS'       }     }   }];   try {     const slide =       Slides.Presentations.batchUpdate({'requests': requests}, presentationId);     console.log('Created Slide with ID: ' + slide.replies[0].createSlide.objectId);     return slide;   } catch (e) {     // TODO (developer) - Handle Exception     console.log('Failed with error %s', e.message);   } }

Przeczytaj identyfikatory obiektów elementów strony

Poniższy przykład pokazuje, jak pobrać identyfikatory obiektów wszystkich elementów strony na określonym slajdzie za pomocą maski pola. Jest to odpowiednik przykładowego przepisu Odczytywanie identyfikatorów obiektów elementów ze strony.

advanced/slides.gs
/**  * Read page element IDs.  * @param {string} presentationId The presentation to read from.  * @param {string} pageId The page to read from.  * @return {Object} response  * @see https://developers.google.com/slides/api/reference/rest/v1/presentations.pages/get  */ function readPageElementIds(presentationId, pageId) {   // You can use a field mask to limit the data the API retrieves   // in a get request, or what fields are updated in an batchUpdate.   try {     const response = Slides.Presentations.Pages.get(         presentationId, pageId, {'fields': 'pageElements.objectId'});     console.log(response);     return response;   } catch (e) {     // TODO (developer) - Handle Exception     console.log('Failed with error %s', e.message);   } }

Dodaj nowe pole tekstowe

Ten przykład pokazuje, jak dodać nowe pole tekstowe do slajdu i wpisać w nim tekst. Jest to odpowiednik przykładowego przepisu na dodawanie pola tekstowego do slajdu.

advanced/slides.gs
/**  * Add a new text box with text to a page.  * @param {string} presentationId The presentation ID.  * @param {string} pageId The page ID.  * @return {Object} response  * @see https://developers.google.com/slides/api/reference/rest/v1/presentations/batchUpdate  */ function addTextBox(presentationId, pageId) {   // You can specify the ID to use for elements you create,   // as long as the ID is unique.   const pageElementId = Utilities.getUuid();    const requests = [{     'createShape': {       'objectId': pageElementId,       'shapeType': 'TEXT_BOX',       'elementProperties': {         'pageObjectId': pageId,         'size': {           'width': {             'magnitude': 150,             'unit': 'PT'           },           'height': {             'magnitude': 50,             'unit': 'PT'           }         },         'transform': {           'scaleX': 1,           'scaleY': 1,           'translateX': 200,           'translateY': 100,           'unit': 'PT'         }       }     }   }, {     'insertText': {       'objectId': pageElementId,       'text': 'My Added Text Box',       'insertionIndex': 0     }   }];   try {     const response =       Slides.Presentations.batchUpdate({'requests': requests}, presentationId);     console.log('Created Textbox with ID: ' +       response.replies[0].createShape.objectId);     return response;   } catch (e) {     // TODO (developer) - Handle Exception     console.log('Failed with error %s', e.message);   } }

Sformatuj tekst kształtu

Poniższy przykład pokazuje, jak sformatować tekst kształtu, aktualizując jego kolor, czcionkę i podkreślenie. Odpowiada przykładowi przepisu Formatowanie tekstu w kształcie lub polu tekstowym.

advanced/slides.gs
/**  * Format the text in a shape.  * @param {string} presentationId The presentation ID.  * @param {string} shapeId The shape ID.  * @return {Object} replies  * @see https://developers.google.com/slides/api/reference/rest/v1/presentations/batchUpdate  */ function formatShapeText(presentationId, shapeId) {   const requests = [{     'updateTextStyle': {       'objectId': shapeId,       'fields': 'foregroundColor,bold,italic,fontFamily,fontSize,underline',       'style': {         'foregroundColor': {           'opaqueColor': {             'themeColor': 'ACCENT5'           }         },         'bold': true,         'italic': true,         'underline': true,         'fontFamily': 'Corsiva',         'fontSize': {           'magnitude': 18,           'unit': 'PT'         }       },       'textRange': {         'type': 'ALL'       }     }   }];   try {     const response =       Slides.Presentations.batchUpdate({'requests': requests}, presentationId);     return response.replies;   } catch (e) {     // TODO (developer) - Handle Exception     console.log('Failed with error %s', e.message);   } }

Sprawdzone metody

Aktualizacje zbiorcze

Jeśli korzystasz z usługi zaawansowanej Prezentacji, połącz wiele żądań w tablicę, zamiast wywoływać batchUpdate w pętli.

Nie – wywołuje funkcję batchUpdate w pętli.

var titles = ["slide 1", "slide 2"]; for (var i = 0; i < titles.length; i++) {   Slides.Presentations.batchUpdate(preso, {     requests: [{       createSlide: ...     }]   }); } 

Do – wywołaj batchUpdate z tablicą aktualizacji.

var requests = []; var titles = ["slide 1", "slide 2"]; for (var i = 0; i < titles.length; i++) {   requests.push({ createSlide: ... }); }  Slides.Presentations.batchUpdate(preso, {   requests: requests });