مراحل ساخت یک رابط اجتماعی عبارتند از:
- یک پروژه جدید Apps Script ایجاد کنید.
- کد کانکتور را بنویسید.
- مانیفست پروژه را تکمیل کنید.
یک پروژه جدید Apps Script ایجاد کنید
برای ایجاد یک پروژه جدید به Google Apps Script مراجعه کنید. Apps Script یک اسکریپت پیشفرض برای شما ایجاد میکند. میتوانید تابع myFunction را حذف کرده و نام پروژه را تغییر دهید. ( درباره Apps Script بیشتر بدانید )
کد کانکتور را بنویسید
هر کانکتور باید مجموعهای از توابع تعریفشدهی خاص داشته باشد. برنامهی میزبانی (مثلاً Looker Studio) این توابع را اجرا خواهد کرد. انتظار میرود کانکتور شما درخواستهای ورودی را مدیریت کرده و مطابق آنچه در مرجع API کانکتور انجمن توضیح داده شده است، پاسخ دهد. اگر در حین توسعهی کد خود با مشکل مواجه شدید، برای کمک ، راهنمای اشکالزدایی را مطالعه کنید.
تعریف نوع احراز هویت در getAuthType()
این تابع برای شناسایی روش احراز هویت مورد استفاده برای سرویس شخص ثالث فراخوانی میشود. برای جزئیات بیشتر به مرجع getAuthType() مراجعه کنید. روشهای احراز هویت پشتیبانیشدهی فعلی در مرجع AuthType فهرست شدهاند.
برای مثال، رابط زیر نیازی به احراز هویت ندارد:
اگر منبع داده شما نیاز به احراز هویت OAuth 2.0 دارد، راهنمای احراز هویت OAuth 2.0 را مشاهده کنید و توابع مورد نیاز اضافی را به کانکتور خود اضافه کنید.
تعریف پیکربندی از طریق getConfig()
تابع getConfig() برای دریافت پیکربندی کانکتور، از جمله مقادیر ارائه شده توسط کاربر که کانکتور شما به آنها نیاز دارد، فراخوانی میشود. برای جزئیات بیشتر به مرجع getConfig() مراجعه کنید.
بر اساس پاسخ ارائه شده توسط getConfig() ، Looker Studio صفحه پیکربندی کانکتور را رندر میکند. عناصر پیکربندی پشتیبانی شده در مرجع ConfigType فهرست شدهاند.
اگر منبع داده شما به تاریخ به عنوان پارامتر نیاز دارد، config.setDateRangeRequired(true) را فراخوانی کنید. اگر نیاز به پرسیدن سوالات مربوط به پیکربندی شرطی یا پویا دارید، به پیکربندی مرحلهای مراجعه کنید.
در زیر مثالی از یک رابط آمده است که از کاربر میخواهد کد نام بسته npm را وارد کند. یک فیلد info و یک فیلد input در تابع getConfig() تعریف شدهاند:
فیلدها را با getSchema() تعریف کنید
این تابع برای دریافت طرحواره (schema) مربوط به درخواست داده شده فراخوانی میشود. هر پارامتر پیکربندی که توسط تابع getConfig() تعریف شده باشد، در آرگومان request ارائه خواهد شد. برای جزئیات بیشتر به مرجع getSchema() مراجعه کنید.
بسته به منبع داده کانکتور شما و پیکربندی ارائه شده توسط کاربر، ممکن است طرحواره ثابت باشد یا ممکن است مجبور شوید آن را به صورت پویا در زمان درخواست ارائه دهید.
برای مثال، اگر یک کانکتور در حال دریافت دادههای گزارش بر اساس یک Report ID باشد، دادههای برگردانده شده برای آن گزارش و از این رو طرحواره ممکن است از قبل شناخته شده نباشند. در این حالت getSchema() ممکن است نیاز به دریافت دادهها داشته باشد و طرحواره باید محاسبه شود.
واکشی و بازگرداندن دادهها با getData()
این تابع برای دریافت دادهها برای درخواست داده شده فراخوانی میشود. هر پارامتر پیکربندی که توسط تابع getConfig() تعریف شده باشد، در آرگومان request ارائه خواهد شد. برای جزئیات بیشتر به مرجع getData() مراجعه کنید.
پارامترهای زیر از درخواست getData() نیاز به توجه بیشتری دارند:
lastRefresh
lastRefreshنشان دهنده یک مهر زمانی است که زمان آخرین درخواست برای بهروزرسانی دادهها را مشخص میکند. شما باید بتوانید این مقدار را باnew Date(timestampString)تجزیه کنید. اگر از Apps Script Cache Service یا هر روش ذخیرهسازی دیگری استفاده میکنید، مهر زمانیlastRefreshمیتواند به شما کمک کند تا تعیین کنید که آیا یک درخواست واکشی جدید به منبع داده ارسال کنید یا دادهها را از حافظه پنهان (cache) ارائه دهید.dateRange
اگرdateRangeRequiredدرgetConfig()رویtrueتنظیم شده باشد، هر فراخوانیgetData()شامل محدوده تاریخ انتخاب شده در درخواست خواهد بود. برای جزئیات بیشتر به بخش «کار با محدودههای تاریخ» مراجعه کنید.
مثال زیر دادهها را بر اساس درخواست ورودی دریافت کرده و آمار بسته را برمیگرداند:
تکمیل مانیفست پروژه
فایل مانیفست حاوی اطلاعاتی در مورد Community Connector شما است که برای استقرار و استفاده از Connector شما در Looker Studio مورد نیاز است.
برای ویرایش فایل مانیفست در محیط توسعه Apps Script، روی منوی View کلیک کرده و گزینه Show manifest file را انتخاب کنید. این کار یک فایل مانیفست جدید appsscript.json ایجاد میکند.
مانیفست را بهروزرسانی کنید تا دادههای زیر را شامل شود:
برای جزئیات بیشتر در مورد مانیفست Looker Studio، به مرجع مانیفست مراجعه کنید.
مراحل بعدی
مرحله بعدی، استقرار Community Connector شما خواهد بود.