שירות מתקדם של Slides

שירות Advanced Slides מאפשר לכם לגשת אל Slides API באמצעות Apps Script. השירות הזה מאפשר לסקריפטים לקרוא ולערוך תוכן ב-Google Slides.

חומרי עזר

מידע מפורט על השירות הזה מופיע במאמרי העזרה בנושא Slides API. בדומה לכל השירותים המתקדמים ב-Apps Script, שירות Slides המתקדם משתמש באותם אובייקטים, שיטות ופרמטרים כמו ה-API הציבורי. מידע נוסף זמין במאמר איך נקבעות חתימות של שיטות.

כדי לדווח על בעיות ולמצוא אפשרויות תמיכה אחרות, אפשר לעיין במדריך התמיכה של Slides.

קוד לדוגמה

בדוגמת הקוד שבהמשך נעשה שימוש בגרסה 1 של ה-API.

צור מצגת חדשה

הדוגמה הבאה ממחישה איך ליצור מצגת חדשה באמצעות השירות המתקדם של Slides. היא מקבילה לדוגמה של המתכון Create a new presentation.

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);   } }

צור שקופית חדשה

בדוגמה הבאה מוסבר איך ליצור שקף חדש במצגת, באינדקס ספציפי ובפריסה מוגדרת מראש. היא מקבילה לדוגמה של המתכון Create a new slide.

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);   } }

קרא מזהי אובייקט של מרכיב דף

בדוגמה הבאה מוצגות דרכים לאחזור מזהי האובייקטים של כל רכיב בדף בשקף מסוים באמצעות מסכת שדות. היא מקבילה לדוגמה של המתכון קריאת מזהי אובייקטים של רכיבים מדף.

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);   } }

הוסף תיבת טקסט חדשה

בדוגמה הבאה מוסבר איך להוסיף תיבת טקסט חדשה לשקף ולהוסיף לה טקסט. היא מקבילה לדוגמה של המתכון Add a text box to a slide.

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);   } }

קבע את הפורמט של טקסט בתוך צורה

בדוגמה הבאה מוצג איך לעצב את הטקסט של צורה, לעדכן את הצבע והגופן שלו ולהוסיף קו תחתון לטקסט. הוא מקביל לדוגמה של המתכון עיצוב טקסט בצורה או בתיבת טקסט.

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);   } }

שיטות מומלצות

עדכונים באצווה

כשמשתמשים בשירות המתקדם של Slides, כדאי לשלב כמה בקשות במערך במקום לקרוא ל-batchUpdate בלולאה.

אל — להתקשר אל batchUpdate שוב ושוב.

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

Do — Call batchUpdate with an array of updates.

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 });