درخواست ها و پاسخ ها

این راهنما متدهای اصلی درخواست و پاسخ که API گوگل داکس را تشکیل می‌دهند و نحوه به‌روزرسانی دسته‌ای یک سند را معرفی می‌کند.

شما می‌توانید API گوگل داکز را با استفاده از یک درخواست HTTP یا با استفاده از فراخوانی یک متد در یک کتابخانه کلاینت مختص زبان، فراخوانی کنید. این دو روش عموماً معادل یکدیگر هستند.

API گوگل داکس یک پاسخ HTTP برمی‌گرداند که عموماً شامل نتیجه فراخوانی درخواست است. هنگام استفاده از یک کتابخانه کلاینت برای ایجاد درخواست‌ها، پاسخ‌ها به روشی خاص برای زبان مورد نظر برگردانده می‌شوند.

روش‌های درخواست

API اسناد از روش‌های زیر پشتیبانی می‌کند:

  • documents.create : یک سند خالی Google Docs ایجاد می‌کند.

  • documents.get : یک نمونه کامل از سند مشخص شده را برمی‌گرداند. می‌توانید JSON برگردانده شده را تجزیه کنید تا محتوای سند، قالب‌بندی و سایر ویژگی‌ها را استخراج کنید.

  • documents.batchUpdate : فهرستی از درخواست‌های ویرایش را برای اعمال اتمی روی سند ارسال می‌کند و فهرستی از نتایج را برمی‌گرداند.

متدهای documents.get و documents.batchUpdate برای مشخص کردن سند هدف، به یک documentId به عنوان پارامتر نیاز دارند. متد documents.create نمونه‌ای از سند ایجاد شده را برمی‌گرداند که می‌توانید documentId از آن بخوانید. برای اطلاعات بیشتر در مورد documentId ، به Document ID مراجعه کنید.

توجه داشته باشید که نمی‌توانید از متد documents.get برای بازیابی اسناد منتشر شده استفاده کنید. پس از انتشار، اسناد عمومی از قالب URL متفاوتی استفاده می‌کنند. تلاش برای استفاده از documentId جدید URL با متد documents.get ، پاسخ کد وضعیت HTTP 404 را برمی‌گرداند. هیچ روشی برای بازیابی documentId اصلی از URL منتشر شده وجود ندارد. برای حل این مشکل، می‌توانید از Drive API برای کپی کردن سند منتشر شده در یک سند مشترک استفاده کنید و سپس به جای آن به این فایل دسترسی پیدا کنید. برای اطلاعات بیشتر، به Make Google Docs, Sheets, Slides & Forms public مراجعه کنید.

به‌روزرسانی‌های دسته‌ای

متد documents.batchUpdate فهرستی از اشیاء request را دریافت می‌کند که هر کدام یک درخواست واحد برای اجرا را مشخص می‌کنند. برای مثال، یک پاراگراف را قالب‌بندی کنید و سپس یک تصویر درون‌خطی اضافه کنید. هر درخواست قبل از اعمال، اعتبارسنجی می‌شود و درخواست‌ها بر اساس ترتیبی که در درخواست دسته‌ای ظاهر می‌شوند، پردازش می‌شوند.

تمام درخواست‌ها در به‌روزرسانی دسته‌ای به صورت خودکار اعمال می‌شوند. یعنی اگر هر درخواستی معتبر نباشد، کل به‌روزرسانی ناموفق است و هیچ یک از تغییرات (که احتمالاً وابسته به هم هستند) اعمال نمی‌شوند.

برخی از متدهای documents.batchUpdate پاسخ‌هایی را به همراه اطلاعاتی در مورد درخواست‌های اعمال شده ارائه می‌دهند. این متدها یک بدنه پاسخ را برمی‌گردانند که شامل لیستی از اشیاء response است. سایر درخواست‌ها نیازی به بازگرداندن اطلاعات و نمایش یک پاسخ خالی ندارند. اشیاء موجود در لیست پاسخ، همان ترتیب فهرست درخواست مربوطه را دارند.

یک الگوی محبوب برای ارسال درخواست‌های دسته‌ای به این شکل است:

requests = []
requests.append(first request)
requests.append(second request)
...

body = ... & requests & ...

...batchUpdate(body)

برای جزئیات کامل در مورد نحوه دسته بندی فراخوانی‌های API اسناد خود و مستندات مرجع documents.batchUpdate برای انواع درخواست و پاسخ ، به بهترین شیوه‌های درخواست دسته‌ای مراجعه کنید.

عملیات به‌روزرسانی دسته‌ای

انواع مختلفی از درخواست‌های به‌روزرسانی دسته‌ای وجود دارد. در اینجا به تفکیک انواع درخواست‌ها ، در دسته‌های مختلف، آمده است.

شیء اضافه کردن / درج کردن به‌روزرسانی/جایگزینی حذف
متن درخواست درج متن درخواست جایگزینی همه متن
سبک‌ها درخواست ایجادBulletsParagraph درخواست به‌روزرسانی سبک متن
درخواست به‌روزرسانی سبک پاراگراف
درخواست به‌روزرسانی سبک سلول جدول
درخواست به‌روزرسانی سبک ردیف جدول
درخواست UpdateDocumentStyle
درخواست UpdateSectionStyle
درخواست حذف پاراگراف
محدوده‌های نامگذاری شده درخواست CreateNamedRange درخواست محتوای محدوده نام‌گذاری‌شده را جایگزین کنید درخواست حذف محدوده نام‌گذاری‌شده
درخواست محدوده محتوا (DeleteContentRangeRequest)
تصاویر درخواست درج تصویر در خط درخواست تصویر جایگزین
جداول درخواست درج جدول
درخواست درج سطر جدول
درخواست درج جدول ستونی
درخواست به‌روزرسانی جدول ستون‌ها
درخواست ادغام سلول‌های جدول
درخواست لغو ادغام سلول‌های جدول
درخواست پین کردن ردیف‌های هدر جدول
درخواست حذف ردیف جدول
درخواست حذف جدول ستونی
اشیاء صفحه (شامل سرصفحه‌ها و پاصفحه‌ها ) درخواست شکستن صفحه (InsertPageBreakRequest)
درخواست ایجاد سربرگ
درخواست ایجاد پاورقی
درخواست ایجاد پاورقی
درخواست شکستن بخش درج
درخواست حذف شیء موقعیت‌یابی‌شده
درخواست حذف سربرگ
درخواست حذف پاورقی