פעולות על רכיבים

ב-Google Slides API אפשר ליצור ולערוך משאב PageElement, כולל תיבות טקסט, תמונות, טבלאות, צורות בסיסיות, קווים וסרטונים מוטמעים. בדוגמאות שבדף הזה מוצגות פעולות נפוצות של רכיבי דף באמצעות method presentations.batchUpdate.

בדוגמאות הבאות נעשה שימוש במשתנים הבאים:

  • PRESENTATION_ID – מציין איפה מספקים את מזהה המצגת. תוכלו לאחזר את הערך של המזהה הזה מכתובת ה-URL של המצגת.
  • PAGE_ID – מציין איפה מספקים את מזהה האובייקט של הדף. אפשר לאחזר את הערך מכתובת ה-URL או באמצעות בקשת קריאה ל-API.
  • PAGE_ELEMENT_ID – מציין איפה מספקים את מזהה האובייקט של רכיב הדף. תוכלו לציין את המזהה הזה לרכיבים שאתם יוצרים (עם הגבלות מסוימות), או לאפשר ל-Slides ליצור מזהה כזה באופן אוטומטי. אפשר לאחזר מזהי רכיב באמצעות בקשת קריאה של API.

הדוגמאות האלה מוצגות כבקשות HTTP כדי לא לשנות את השפה. במדריכים הבאים מוסבר איך להטמיע עדכון בכמות גדולה בשפות שונות באמצעות ספריות הלקוח של Google API:

הוספה של רשימה עם תבליטים לתיבת טקסט

דוגמת הקוד הבאה מ-presentations.batchUpdate ממחישה איך משתמשים ב-method InsertTextRequest כדי להוסיף טקסט לתיבת טקסט ריקה, שמסומנת ב-PAGE_ELEMENT_ID. בשלב הבא הדוגמה משתמשת ב-method CreateParagraphBulletsRequest כדי להמיר את כל הטקסט של תיבות הטקסט לרשימה עם תבליטים. פריטים ברשימה מופרדים באמצעות \n תווים, והכניסות מופרדות באמצעות תווים \t.

זהו הפרוטוקול לבקשה ליצירת מצגת:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "insertText": {
        "objectId": PAGE_ELEMENT_ID,
        "text": "My List\n\tItem 1\n\t\tItem 2\n\t\t\tItem 3",
        "insertionIndex": 0
      },
      "createParagraphBullets": {
        "objectId": PAGE_ELEMENT_ID,
        "bulletPreset": "BULLET_ARROW_DIAMOND_DISC",
        "textRange": {
          "type": "ALL"
        }
      }
    }
  ]
}

בבקשה הזו ניתן ליצור רשימה עם תבליטים שנראית כך:

תוצאת מתכון לרשימת תבליטים.

הוספת צורה לשקף

דוגמת הקוד הבאה מ-presentations.batchUpdate מראה איך להשתמש ב-method CreateShapeRequest כדי להוסיף צורת גל לשקף שצוין ב-PAGE_ID. הבקשה הזו מציינת את סוג הצורה, ולאחר מכן משנה את קנה המידה וממקם אותה בשקף. לאחר מכן נעשה שימוש ב-method InsertTextRequest כדי להוסיף טקסט לצורה הזו. בבקשה מגדירים את המזהה של השורה כ-PAGE_ELEMENT_ID.

לפניכם פרוטוקול הבקשה להוספת צורה לשקף:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createShape": {
        "objectId": PAGE_ELEMENT_ID,
        "elementProperties": {
          "pageObjectId": PAGE_ID,
          "size": {
            "width": {
              "magnitude": 3000000,
              "unit": "EMU"
            },
            "height": {
              "magnitude": 3000000,
              "unit": "EMU"
            }
          },
          "transform": {
            "scaleX": 0.6807,
            "scaleY": 0.4585,
            "translateX": 6583050,
            "translateY": 1673950,
            "unit": "EMU"
          }
        },
        "shapeType": "WAVE"
      }
    },
    {
      "insertText": {
        "objectId": PAGE_ELEMENT_ID,
        "text": "My Wave Shape",
        "insertionIndex": 0
      }
    }
  ]
}

הוספת סרטון לשקף

דוגמת הקוד הבאה מ-presentations.batchUpdate מראה איך להשתמש ב-method CreateVideoRequest כדי להטמיע סרטון בשקף שצוין ב-PAGE_ID. הבקשה הזו משנה את קנה המידה ואת המיקום של הסרטון בשקף, ומגדירה את המזהה של הסרטון ל-PAGE_ELEMENT_ID. המזהה הייחודי של סרטון המקור מוגדר ל-VIDEO_ID. לדוגמה, לסרטון ב-YouTube בכתובת https://www.youtube.com/watch?v=7U3axjORYZ0 יש את המזהה 7U3axjORYZ0.

לפניכם פרוטוקול הבקשה להוספת סרטון לשקף:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createVideo": {
        "objectId": PAGE_ELEMENT_ID,
        "elementProperties": {
          "pageObjectId": PAGE_ID,
          "size": {
            "width": {
              "magnitude": 12000,
              "unit": "EMU"
            },
            "height": {
              "magnitude": 9000,
              "unit": "EMU"
            }
          },
          "transform": {
            "scaleX": 381,
            "scaleY": 381,
            "translateX": 152400,
            "translateY": 152400,
            "unit": "EMU"
          }
        },
        "source": "YOUTUBE",
        "id": VIDEO_ID
      }
    }
  ]
}

העתקה ועריכה של רכיבים

דוגמת הקוד הבאה ממחישה איך משתמשים ב-method DuplicateObjectRequest כדי ליצור צורה קיימת (מצוינת ב-PAGE_ELEMENT_ID) וליצור עותק שלה (לפי COPY_ELEMENT_ID).presentations.batchUpdate

הבקשות הבאות יבצעו את השינויים הבאים באובייקט הכפול:

  • מגדיר את צבע הרקע לצבע העיצוב LIGHT2.
  • העברת העותק למטה בדף (מהמיקום של הצורה המקורית).
  • מגדיר את גופן הטקסט לגיאורגיה של 18 נקודות.
  • עריכת הטקסט כך שיהיה 'עותק הצורה שלי'.

הבקשות כאן משתמשות במסכות שדות כדי לשמר את מאפייני הצורות שלא השתנו (כמו הסגנון של מתאר). שימוש במסכות שדה גם משפר את הביצועים.

למידע נוסף על העתקת שקף, ראו העתקת שקף לדוגמה.

לפניכם פרוטוקול הבקשה להעתקה ועריכה של רכיב:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "duplicateObject": {
        "objectId": PAGE_ELEMENT_ID,
        "objectIds": {
          PAGE_ELEMENT_ID: COPY_ELEMENT_ID
        }
      }
    },
    {
      "updateShapeProperties": {
        "objectId": COPY_ELEMENT_ID,
        "fields": "shapeBackgroundFill.solidFill.color",
        "shapeProperties": {
          "shapeBackgroundFill": {
            "solidFill": {
              "color": {
                "themeColor": "LIGHT2"
              }
            }
          }
        }
      }
    },
    {
      "updatePageElementTransform": {
        "objectId": COPY_ELEMENT_ID,
        "applyMode": "RELATIVE",
        "transform": {
          "scaleX": 1,
          "scaleY": 1,
          "translateX": 0,
          "translateY": 1250000,
          "unit": "EMU"
        }
      }
    },
    {
      "updateTextStyle": {
        "objectId": COPY_ELEMENT_ID,
        "fields": "fontFamily,fontSize",
        "textRange": {
          "type": "ALL"
        },
        "style": {
          "fontFamily": "Georgia",
          "fontSize": {
            "magnitude": 18,
            "unit": "PT"
          }
        }
      }
    },
    {
      "deleteText": {
        "objectId": COPY_ELEMENT_ID,
        "textRange": {
          "type": "ALL"
        }
      }
    },
    {
      "insertText": {
        "objectId": COPY_ELEMENT_ID,
        "text": "My Shape Copy",
        "insertionIndex": 0
      }
    }
  ]
}

כך עשויים להיראות צורה והעותק שלה לאחר העדכונים האלה:

העתקה ועריכה של תוצאת מתכון של הרכיב.

עריכת מתאר של תמונה או סרטון

דוגמת הקוד הבאה מ-presentations.batchUpdate ממחישה איך להשתמש ב-method UpdateImagePropertiesRequest כדי לעדכן את מראה קווי המתאר של תמונה שצוינה ב-IMAGE_ELEMENT_ID. נעשה בו גם שימוש ב-method UpdateVideoPropertiesRequest כדי לעדכן את מראה המתאר של סרטון מוטמע שצוין באמצעות VIDEO_ELEMENT_ID.

הבקשות מבצעות את השינויים הבאים באובייקט:

  • מגדיר את צבע קווי המתאר של התמונה לצבע העיצוב ACCENT5, עם שקיפות חלקית.
  • מגדיר את צבע קווי המתאר של הסרטון לצבע העיצוב ACCENT1, ללא שקיפות.
  • מגדיר את משקולות המתאר ל-3 נקודות לשתיהן.
  • הסגנון של מתאר התמונה מוגדר כ-SOLID.
  • מגדיר את הסגנון של מתאר הסרטון כ-DASH_DOT.

גם השיטה UpdateImagePropertiesRequest וגם השיטה UpdateVideoPropertiesRequest יכולות לשנות רק את המראה של קווי המתאר של הסרטון ושל התמונה. כל שאר הנכסים הם לקריאה בלבד. בבקשות שנשלחות כאן נעשה שימוש במסכות שדות כדי לציין שצריך לשנות רק את קווי המתאר כדי להגן על הקוד מפני שינויים עתידיים ב-API. השימוש במסכות של שדות גם משפר את הביצועים.

לפניכם פרוטוקול הבקשה לעריכת מתאר של תמונה או סרטון:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "updateImageProperties": {
        "objectId": IMAGE_ELEMENT_ID,
        "fields": "outline",
        "imageProperties": {
          "outline": {
            "dashStyle": "SOLID",
            "outlineFill": {
              "solidFill": {
                "alpha": 0.8,
                "color": {
                  "themeColor": "ACCENT5"
                }
              }
            },
            "weight": {
              "magnitude": 3,
              "unit": "PT"
            }
          }
        }
      }
    },
    {
      "updateVideoProperties": {
        "objectId": VIDEO_ELEMENT_ID,
        "fields": "outline",
        "videoProperties": {
          "outline": {
            "dashStyle": "DASH_DOT",
            "outlineFill": {
              "solidFill": {
                "alpha": 0.8,
                "color": {
                  "themeColor": "ACCENT1"
                }
              }
            },
            "weight": {
              "magnitude": 3,
              "unit": "PT"
            }
          }
        }
      }
    }
  ]
}

כך עשויים להיראות תמונה וסרטון מוטמע אחרי העדכונים האלה:

תוצאה של מתאר מתכונים
בסרטון.

עריכת קווי המתאר של צורה

דוגמת הקוד הבאה מ-presentations.batchUpdate מראה איך להשתמש ב-method UpdateShapePropertiesRequest כדי ליצור צורה קיימת (מצוינת ב-PAGE_ELEMENT_ID) ולעדכן את המראה של המתאר.

הבקשות מבצעות את השינויים הבאים באובייקט:

  • הגדרת צבע המתאר לצבע העיצוב ACCENT5 עם שקיפות חלקית.
  • מגדיר את משקל המתאר ל-3 נקודות.
  • מגדיר את סגנון המתאר לLONG_DASH.

הבקשות כאן משתמשות במסכות שדות כדי לשמר את מאפייני הצורות שלא השתנו (כמו צבע המילוי של הצורה). שימוש במסכות שדה גם משפר את הביצועים.

זהו פרוטוקול הבקשה לעריכת קווי מתאר של צורה:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "updateShapeProperties": {
        "objectId": PAGE_ELEMENT_ID,
        "fields": "outline",
        "shapeProperties": {
          "outline": {
            "dashStyle": "LONG_DASH",
            "outlineFill": {
              "solidFill": {
                "alpha": 0.6,
                "color": {
                  "themeColor": "ACCENT5"
                }
              }
            },
            "weight": {
              "magnitude": 3,
              "unit": "PT"
            }
          }
        }
      }
    }
  ]
}

כך עשויה להיראות צורה לאחר עדכונים אלה:

עריכת התוצאה של המתכון במתאר.

עיצוב טקסט בצורה או בתיבת טקסט

דוגמת הקוד הבאה מ-presentations.batchUpdate ממחישה כיצד להשתמש ב-method UpdateTextStyleRequest כדי ליצור צורה קיימת (מצוינת ב-PAGE_ELEMENT_ID) ולעדכן את המראה של הטקסט.

הבקשות מבצעות את השינויים הבאים באובייקט:

  • הגדרת צבע הטקסט לצבע העיצוב ACCENT5.
  • מגדיר את הגופן להדגשה מודגשת, נטויה (18 נקודות) של Corsiva.
  • הטקסט עם קו תחתון.

בבקשות שנשלחות כאן נעשה שימוש במסכות שדות כדי לשמר את המאפיינים של סגנון הטקסט שלא השתנו (כמו צבע הרקע, קישורים או הפרשי זמן בסיסיים). שימוש במסכות של שדות גם משפר את הביצועים.

זהו פרוטוקול הבקשה לעיצוב טקסט בצורה או בתיבת טקסט:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "updateTextStyle": {
        "objectId": PAGE_ELEMENT_ID,
        "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"
        }
      }
    }
  ]
}

כך יכול להיראות טקסט צורה לאחר העדכונים האלה:

עריכת תוצאת המתכון
של פורמט טקסט.

ייבוא של תרשים מ-Google Sheets

דוגמת הקוד הבאה מ-presentations.batchUpdate ממחישה איך משתמשים ב-method CreateSheetsChartRequest כדי לייבא תרשים מגיליון ולמקם אותו בשקף שצוין ב-PAGE_ID.

הבקשה צריכה לכלול את מזהה הגיליון האלקטרוני (כפי שמצוין ב-SPREADSHEET_ID) ואת מזהה התרשים של הגיליון האלקטרוני (ב-SPREADSHEET_CHART_ID). מזהה התרשים במצגת של Slides מצוין באמצעות PRESENTATION_CHART_ID.

בעקבות הבקשה, גם הערך LinkingMode של תרשים Slides יוגדר ל-LINKED, כך שתוכלו לעדכן את התרשים המוטמע אם התרשים בגיליון האלקטרוני המקורי מתעדכן.

לפניכם פרוטוקול הבקשה לייבוא תרשים מ-Sheets:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createSheetsChart": {
        "objectId": PRESENTATION_CHART_ID,
        "spreadsheetId": SPREADSHEET_ID,
        "chartId": SPREADSHEET_CHART_ID,
        "linkingMode": "LINKED",
        "elementProperties": {
          "pageObjectId": PAGE_ID,
          "size": {
            "width": {
              "magnitude": 4000000,
              "unit": "EMU"
            },
            "height": {
              "magnitude": 4000000,
              "unit": "EMU"
            }
          },
          "transform": {
            "scaleX": 1,
            "scaleY": 1,
            "translateX": 100000,
            "translateY": 100000,
            "unit": "EMU"
          }
      }
    }
  ]
}

רענון של תרשים ב-Sheets

דוגמת הקוד הבאה presentations.batchUpdate מראה איך משתמשים בשיטה RefreshSheetsChartRequest כדי לרענן תרשים מקושר במצגת, ומחליפים אותה בגרסה האחרונה של התרשים מגיליון המקור ב-Sheets. הבקשה צריכה לכלול את מזהה התרשים במצגת של Slides (כפי שמצוין ב-PRESENTATION_CHART_ID).

לפניכם פרוטוקול הבקשה לרענון תרשים מ-Sheets:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "refreshSheetsChart": {
        "objectId": PRESENTATION_CHART_ID
      }
    }
  ]
}