כתיבה בסיסית

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

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

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

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

הוספת תיבת טקסט לשקף

הבאים presentations.batchUpdate דוגמת הקוד מראה איך להשתמש CreateShapeRequest שיטה להוספת תיבת טקסט חדשה (הכוללת את המחרוזת "My Text Box") השקף שצוין על ידי PAGE_ID. שתי בקשות מצוינות ב- גוף הבקשה – גוף הבקשה ליצור את הצורה של תיבת הטקסט (בגודל נתון ושנייה כדי להוסיף אליו טקסט.

הבקשה הראשונה מציינת את האובייקט 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, שמבוסס על אפס, ומזינים טקסט חדש במיקום הזה. כאן לדוגמה, מחרוזת הטקסט המקורית "My Form Text: ?..." מוחלף ב- צורה של טקסט: טרפז".

הבקשה הזו משפיעה רק על טקסט בצורה שצוינה. כדי להחליף טקסט בכל מקום במצגת, משתמשים 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 שמשמשת להחלפה של מופע יחיד של תג צורה בתמונה, תוך שמירה על באותו מיקום ולשנות את הגודל שלו כך שיתאים לגודל התג, תוך שמירה על יחס גובה-רוחב.

ניתן להשתמש בבקשה גם כדי להחליף תמונה אחת באחרת. הבקשה מורכב מהוספת התמונה החדשה ולאחר מכן מחיקת התג.

ה-method 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
      }
    }
  ]
}