نوشتن پایه

Google Slides API به شما امکان می دهد عناصر را در صفحات ارائه اضافه و تغییر دهید. مثال‌های موجود در این صفحه نحوه انجام عملیات خواندن رایج با استفاده از روش presentations.batchUpdate را نشان می‌دهند.

این نمونه ها از متغیرهای زیر استفاده می کنند:

  • PRESENTATION_ID — محل ارائه شناسه ارائه را نشان می دهد. می توانید مقدار این شناسه را از نشانی اینترنتی ارائه کشف کنید.
  • 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 مبتنی بر صفر حذف کنید و سپس متن جدید را در آن موقعیت قرار دهید. در این مثال، رشته متن اصلی "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 استفاده کنید.

تگ shape دارای ویژگی های 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
      }
    }
  ]
}