راهاندازی یک پروژه Apps Script برای فراخوانی مستقیم API فرمهای گوگل از طریق فراخوانی REST، به چند مرحله نیاز دارد. با فرض اینکه قبلاً یک پروژه Google Cloud را پیکربندی کردهاید، موارد زیر را انجام دهید:
- یک پروژه جدید Apps Script ایجاد کنید.
- شماره پروژه مرتبط با Google Cloud را تغییر دهید تا با پروژهای که برای Forms API فعال کردهاید، مطابقت داشته باشد.
- فایل Manifest (
appsscript.json) را ویرایش کنید تا محدودههای OAuth لازم را اضافه کنید. - کد Apps Script را برای دریافت توکن OAuth و برقراری یک فراخوانی REST با استفاده از توکن، اضافه کنید.
ایجاد و پیکربندی یک پروژه جدید Apps Script
- با استفاده از همان حساب گوگلی که برای پیکربندی پروژه Google Cloud خود استفاده کردهاید، به داشبورد Apps Script بروید، سپس روی پروژه جدید کلیک کنید.
- وقتی پروژه شما باز شد، روی پروژه کلیک کنید.
- کادر انتخاب نمایش فایل مانیفست "appsscript.json" در ویرایشگر را علامت بزنید .
- در بخش پروژه پلتفرم ابری گوگل (Google Cloud) ، روی تغییر پروژه کلیک کنید و شماره پروژه گوگل ابری که برای Forms API پیکربندی کردهاید را وارد کنید.
پروژه Apps Script شما اکنون برای دسترسی به Forms API پیکربندی شده است. مرحله بعدی مورد نیاز، اضافه کردن محدودههای OAuth مناسب است.
افزودن دامنههای OAuth
برای تولید یک توکن OAuth با دامنهی مناسب در Apps Script، باید دامنههای مورد نیاز را در فایل مانیفست پروژه تنظیم کنید.
- در ویرایشگر،
appsscript.jsonرا باز کنید. محدودهها را به بدنه مانیفست اضافه کنید.
{ ... "oauthScopes": [ "https://www.googleapis.com/auth/script.external_request", "https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.readonly", "https://www.googleapis.com/auth/forms.body", "https://www.googleapis.com/auth/forms.body.readonly", "https://www.googleapis.com/auth/forms.responses.readonly" ], ... }روی کلیک کنید. پروژه را ذخیره کنید و در صورت نیاز خطاهای نحوی را اصلاح کنید. اکنون پروژه شما باید بتواند Forms API را با استفاده از فراخوانی REST فراخوانی کند.
کد Apps Script را برای فراخوانی API اضافه کنید
قبل از نوشتن کد برای فراخوانی یک فرم، باید فرمی را که متعلق به شماست و دارای پاسخ است شناسایی کنید و شناسه فرم آن را یادداشت کنید. شناسه فرم را میتوانید هنگام ویرایش فرم در URL پیدا کنید:
https://docs.google.com/forms/d/<FORM_ID>/edit
برای فراخوانی API، از فراخوانی Apps Script UrlFetchApp استفاده خواهید کرد.
Code.gs را باز کنید و کد زیر را اضافه کنید:
YOUR_FORM_IDرا با مقداری که قبلاً یادداشت کردهاید جایگزین کنید.مثال:
var formId = 'tL5ygBC8zpbTnTp76JCZdIg80hA-cnpbTnTjnsewCKJH';روی کلیک کنید. پروژه را ذخیره کنید و در صورت لزوم خطاهای نحوی را اصلاح کنید.
کد را تست کنید
- روی کلیک کنید. اجرا کنید .
- در صورت نیاز، پروژه را با استفاده از همان حساب گوگل قبلی تأیید کنید.
پس از شروع، باید پاسخی مشابه این را در گزارش اجرا مشاهده کنید:
Execution started
Calling the Forms API!
OAuth token is: ya29.a0ARrdaM8IMjtlv…
formsAPIUrl is: https://forms.googleapis.com/v1beta/forms/…/responses
Response from Forms.responses was: {
"responses": [
{
"responseId":"...",
"createTime": "2021-03-25T01:23:58.146Z",
"lastSubmittedTime": "2021-03-25T01:23:58.146607Z",
"answers": {
"1e9b0ead": {
"questionId": "1e9b0ead",
"textAnswers": {
"answers": [
{
"value": "Red"
}
]
}
},
"773ed8f3": {
"questionId": "773ed8f3",
"textAnswers": {
"answers": [
{
"value": "Tesla"
}
]
}
}
}
}
]
}
Execution completed
مراحل بعدی
پس از اینکه API را با Apps Script با موفقیت فراخوانی کردید، به مستندات مرجع مراجعه کنید و فراخوانیهای دیگر API را آزمایش کنید.