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