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

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

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

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

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

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

הבאים presentations.batchUpdate דוגמת הקוד מראה איך להשתמש InsertTextRequest שיטה להוספת טקסט לתיבת טקסט ריקה שמצוינת על ידי PAGE_ELEMENT_ID. בשלב הבא, הדוגמה משתמשת 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 דוגמת הקוד מראה איך להשתמש CreateShapeRequest כדי להוסיף צורת גל לשקף שצוין על ידי PAGE_ID. בקשה זו מציינת את סוג הצורה, ולאחר מכן משנה את גודל הצורה וממקמת אותה את השקף. לאחר מכן היא משתמשת 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 דוגמת הקוד מראה איך להשתמש 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
      }
    }
  ]
}

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

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

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

  • הגדרת צבע הרקע לצבע העיצוב 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 דוגמת הקוד מראה איך להשתמש UpdateImagePropertiesRequest לעדכון המראה של קווי מתאר של תמונה שמצוינת על ידי IMAGE_ELEMENT_ID. הוא גם משתמש 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 דוגמת הקוד מראה איך להשתמש 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 דוגמת הקוד מראה איך להשתמש 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 דוגמת הקוד מראה איך להשתמש CreateSheetsChartRequest כדי לייבא תרשים מגיליון ולהציב אותו בשקף שצוין PAGE_ID.

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

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

זה פרוטוקול הבקשה לייבוא תרשים ממנו גיליונות:

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).

פרוטוקול הבקשה לרענון תרשים שממנו רוצים לרענן גיליונות:

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