בעזרת Google Slides API אפשר להוסיף ולשנות רכיבים בדפי מצגות. בדוגמאות שבדף הזה מוסבר איך לבצע פעולות קריאה נפוצות באמצעות השיטה presentations.batchUpdate
.
בדוגמאות האלה נעשה שימוש במשתנים הבאים:
- PRESENTATION_ID—מציין איפה מספקים את מזהה המצגת. אפשר למצוא את הערך של המזהה הזה בכתובת ה-URL של המצגת.
- PAGE_ID – מציין איפה מציינים את המזהה של אובייקט הדף. אפשר לאחזר את הערך של המאפיין הזה מכתובת ה-URL או באמצעות בקשת קריאה של API.
- PAGE_ELEMENT_ID – מציין את המקום שבו צריך לספק את מזהה אובייקט רכיב הדף. אפשר לציין את המזהה הזה לרכיבים שיוצרים (עם הגבלות מסוימות) או לאפשר ל-Slides API ליצור אותו באופן אוטומטי. אפשר לאחזר מזהי רכיבים באמצעות בקשת קריאה של API.
הדוגמאות האלה מוצגות כבקשות HTTP כדי שלא יהיו תלויות בשפה. מידע על הטמעה של עדכון באצווה בשפות שונות באמצעות ספריות הלקוח של Google API מופיע במאמר הוספת צורות וטקסט.
הוספת תיבת טקסט לשקף
בדוגמת הקוד הבאה, presentations.batchUpdate
, אפשר לראות איך להשתמש בשיטה CreateShapeRequest
כדי להוסיף תיבת טקסט חדשה (שמכילה את המחרוזת My Added Text Box) לשקף שצוין על ידי PAGE_ID. בגוף הבקשה מצוינות שתי בקשות – אחת ליצירת צורה של תיבת טקסט (עם גודל ומיקום נתונים) והשנייה להוספת טקסט לתוכה.
בבקשה הראשונה מציינים את מזהה האובייקט שבו רוצים להשתמש בתיבת הטקסט. כך הבקשה השנייה יכולה להשתמש בו באותה קריאה ל-API, מה שמקטין את התקורה.
הפרוטוקול הבא הוא פרוטוקול הבקשה להוספת תיבת טקסט לשקף:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createShape": { "objectId": PAGE_ELEMENT_ID, "shapeType": "TEXT_BOX", "elementProperties": { "pageObjectId": PAGE_ID, "size": { "width": { "magnitude": 150, "unit": "PT" }, "height": { "magnitude": 50, "unit": "PT" } }, "transform": { "scaleX": 1, "scaleY": 1, "translateX": 200, "translateY": 100, "unit": "PT" } } } }, { "insertText": { "objectId": PAGE_ELEMENT_ID, "text": "My Added Text Box", "insertionIndex": 0 } } ] }
הוספת תמונה לשקף
בדוגמת הקוד הבאה presentations.batchUpdate
אפשר לראות איך משתמשים בשיטה CreateImageRequest
כדי להוסיף תמונה לשקף שצוין על ידי PAGE_ID. ה-API מאחזר את התמונה באמצעות IMAGE_URL. בנוסף, הבקשה הזו משנה את גודל התמונה וממקמת אותה בשקף.
הפרוטוקול הבא הוא פרוטוקול הבקשה להוספת תמונה לשקף:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createImage": { "url": IMAGE_URL, "elementProperties": { "pageObjectId": PAGE_ID, "size": { "width": { "magnitude": 30, "unit": "PT" }, "height": { "magnitude": 30, "unit": "PT" } }, "transform": { "scaleX": 1, "scaleY": 1, "translateX": 200, "translateY": 100, "unit": "PT" } } } } ] }
מחיקה של דף או רכיב בדף
בדוגמת הקוד הבאה presentations.batchUpdate
מוצגות שתי בקשות נפרדות לשימוש בשיטה DeleteObjectRequest
כדי למחוק את רכיב הדף שצוין על ידי PAGE_ELEMENT_ID ואת השקף שצוין על ידי PAGE_ID.
הפרוטוקול הבא הוא פרוטוקול הבקשה למחיקת דף או אלמנט בדף:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "deleteObject": { "objectId": PAGE_ELEMENT_ID }, "deleteObject": { "objectId": PAGE_ID } } ] }
עריכת טקסט בצורה מסוימת
בדוגמת הקוד הבאה presentations.batchUpdate
מוצג אופן השימוש בשיטה DeleteTextRequest
כדי להחליף חלק מהטקסט שמופיע בצורה שצוינה על ידי PAGE_ELEMENT_ID. כדי לעשות את זה, קודם מוחקים את הטקסט באמצעות startIndex
(האינדקס מתחיל מ-0), ואז מוסיפים טקסט חדש באותו מיקום. בדוגמה הזו, מחרוזת הטקסט המקורית 'My Shape Text: ????' מוחלפת ב-'My Shape Text: Trapezoid'.
הבקשה הזו משפיעה רק על טקסט בצורה שצוינה. כדי להחליף טקסט בכל מקום במצגת, משתמשים בשיטה ReplaceAllTextRequest
.
הפרוטוקול הבא משמש לבקשה לעריכת טקסט בצורה מסוימת:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "deleteText": { "objectId": PAGE_ELEMENT_ID, "textRange": { "type": "FROM_START_INDEX", "startIndex": 15 } } }, { "insertText": { "objectId": PAGE_ELEMENT_ID, "text": "Trapezoid", "insertionIndex": 15 } } ] }
החלפת תג של צורה בתמונה
תגים הם תיבות טקסט או צורות עם שם מחרוזת ייחודי, כמו account-holder-name.
בדוגמת הקוד הבאה, presentations.batchUpdate
, מוצג אופן השימוש בשיטה CreateImageRequest
כדי להחליף מופע יחיד של תג צורה בתמונה, תוך שמירה על אותו מיקום ושינוי קנה המידה כך שיתאים לגודל התג, ושמירה על יחס הגובה-רוחב של התמונה.
אפשר להשתמש בבקשה גם כדי להחליף תמונה אחת בתמונה אחרת. הבקשה כוללת הוספה של התמונה החדשה ואז מחיקה של התג.
השיטה CreateImageRequest
מחליפה רק צורה שצוינה. כדי להחליף את צורות התגים בכל מקום במצגת, משתמשים בשיטה ReplaceAllShapesWithImageRequest
.
לתג הצורה יש את המאפיינים הבאים PageElement
(אפשר למצוא אותם באמצעות בקשת presentations.pages.get
):
{ "objectId": PAGE_ELEMENT_ID, "size": { "width": { "magnitude": 3000000, "unit": "EMU" }, "height": { "magnitude": 3000000, "unit": "EMU" } }, "transform": { "scaleX": 1.13, "scaleY": 0.62, "translateX": 4800000, "translateY": 450000, "unit": "EMU" }, "shape": { "shapeType": "RECTANGLE" } }
הצורה נמצאת בשקף שצוין על ידי PAGE_ID. כדי לציין את התמונה שמחליפה את הצורה, ה-API מאחזר את התמונה באמצעות IMAGE_URL. כדי לשמור על יחס הגובה-רוחב של התמונה תוך הגבלת הגודל שלה לגודל התג, הפונקציה CreateImageRequest
מגדירה את גודל התמונה כמכפלה של גודל התג וקנה המידה, ואת גורמי קנה המידה של התמונה כ-1
. מידע נוסף זמין במאמר בנושא שמירה על יחס הגובה-רוחב.
הפרוטוקול הבא הוא פרוטוקול הבקשה להחלפת תג צורה בתמונה:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createImage": { "url": IMAGE_URL, "elementProperties": { "pageObjectId": PAGE_ID, "size": { "width": { "magnitude": 3000000 * 1.13, "unit": "EMU" }, "height": { "magnitude": 3000000 * 0.62, "unit": "EMU" } }, "transform": { "scaleX": 1, "scaleY": 1, "translateX": 4800000, "translateY": 450000, "unit": "PT" } } } }, { "deleteObject": { "objectId": PAGE_ELEMENT_ID } } ] }