على سبيل المثال، لنفترض أن المطور X لديه تطبيق ويب لعملائه. يسجّل العملاء الدخول إلى التطبيق باستخدام بيانات الاعتماد الخاصة بهم ويمكنهم عرض بيانات المبيعات لمتاجر مختلفة. يمكن لكل عميل الوصول إلى قائمة مختلفة من المتاجر. تشير رسالة الأشكال البيانية يريد المطوِّر تضمين لوحة بيانات Looker Studio في تطبيقه لكي بحيث عندما يسجّل العميل الدخول، لا يرى سوى بيانات المبيعات للمتاجر الذي يمكنهم الوصول إليه. يجب ألا يُطلب من العملاء تسجيل الدخول إلى حساباتهم على Google لكي تنجح هذه العملية.
سيحتاج الحل المقترح إلى أن ينشئ المطور موصِّل مجتمع، وتمرير رمز مميز من خلال عنوان URL المضمّن، ثم تصفية البيانات استنادًا إلى الرمز المميز.
المتطلبات
- وسيسجّل مشاهدو لوحة البيانات الدخول إلى التطبيق التابع للجهة الخارجية.
- يجب أن يرسل التطبيق رمزًا مميّزًا فريدًا إلى لوحة بيانات Looker Studio من خلال عنوان URL التضمين يمكن استخدام الرمز المميز للبحث في معلومات التصفية أو تشفير معلومات الفلتر بداخلها.
- يجب أن يكون بإمكان "وصلة المنتدى" تحويل الرمز المميّز إلى فلتر القيم.
القيود
- إذا كنت أحد عملاء G Suite وأوقف المشرف المشاركة إلى "أي شخص لديه رابط"، لن تتمكن من مشاركة إلى التقارير مع مستخدمين خارج مؤسستك.
الحل
أكمِل جميع الخطوات التالية لتنفيذ الحلّ.
إنشاء رمز مميّز للمستخدم في تطبيق الويب
أنشئ رمزًا مميزًا فريدًا لكل مستخدم سجّل دخوله في تطبيق الويب. بتمرير هذا الرمز إلى لوحة التحكم المضمنة في خطوة لاحقة.
وعليك استخدام الرمز المميّز لفلترة البيانات ذات الصلة. تتضمن الخيارات:
- إنشاء نقطة نهاية لواجهة برمجة التطبيقات تعرض البيانات المفلترة أو معلومات المستخدم مقابل رمز مميّز محدَّد.
- تشفير معلومات المستخدم في الرمز المميّز لإتاحة فك تشفيرها لاحقًا في الموصل.
إنشاء رابط منتدى جديد
راجِع آلية عمل موصِّلات المنتديات وأكمِل للبدء، يُرجى الاطّلاع على الدرس التطبيقي حول ترميز Community Connector. يمكنك استخدام أدوات تطوير محلية لإنشاء موصِّلات للحصول على تجربة أسرع وأسهل تطوير البرامج.
كتابة رمز الموصِّل
يجب أن يعرض
getConfig()
عنصر إعداد واحدًا على الأقل. سيتم استخدام هذه البيانات الحصول على رمز مميز من معلَمات عنوان URL المضمّن.function getConfig(request) { var cc = DataStudioApp.createCommunityConnector(); var config = cc.getConfig(); config .newTextInput() .setId('token') .setName('Enter user token'); // TODO: Add additional config values if applicable for your connector config.setDateRangeRequired(false); config.setIsSteppedConfig(false); return config.build(); }
سيتمكن
getData()
من الوصول إلى الرمز المميّز من خلال الكائنrequest.configParams
. استخدِم الرمز المميّز لاسترجاع البيانات التي تمت فلترتها أو تصفية البيانات الحالية التي تم جلبها.
باتباع المثال أعلاه، سيكون الرمز المميزrequest.configParams.token
فيgetData()
، يتم تمرير الرمز المميز إلى REST نقطة نهاية واجهة برمجة التطبيقات للحصول على قائمة بأرقام تعريف المتجر. يتم بعد ذلك استخدام أرقام تعريف المتجر هذه إنشاء استعلام SQL لجلب بيانات المبيعات.var STORE_ID_API = 'https://www.example.com/api/storeid'; var QUERY_STRING_PREFIX = "SELECT StoreName, Sales from stores" function getData(request) { var token = request.configParams.token; var storeIds = getStoreIdList(token); var queryString = constructQueryString(storeIds); var fetchedData = fetchData(queryString); // rest of getData() implementation } function getStoreIdList(token) { var url = STORE_ID_API; var response = UrlFetchApp.fetch(url); var parsedResponse = JSON.parse(response); return parsedResponse.storeIds; } function constructQueryString(storeIds) { var storeIdString = storeIds.join(','); var queryString = QUERY_STRING_PREFIX + ' WHERE storeId in (' + storeIdString + ')'; return queryString; }
إنشاء لوحة البيانات
- تعرَّف على كيفية عمل عمليات النشر والإصدارات مع الموصِّلات.
- أنشئ عملية نشر إنتاج للموصِّل.
- استخدِم رابط نشر الإصدار العلني لإنشاء مصدر بيانات وتقرير في Looker Studio
- بالنسبة إلى معلمة الإعداد
token
، السماح لمشاهدي التقارير بتعديل قيم المَعلمات - شارك لوحة التحكم مع المستخدمين المحددين أو مع "أي شخص لديه .
- فعِّل التضمين للتقرير.
تضمين لوحة البيانات في منصتك
- التعرّف على طريقة عمل مَعلمات عناوين URL لإعداد التقارير
- مرِّر قيمة الرمز المميّز التي تم إنشاؤها ديناميكيًا باستخدام مَعلمات عناوين URL إلى
تقرير Looker Studio المضمّن.
سيظهر عنوان URL المضمّن بالشكل التالي:
`https://lookerstudio.google.com/embed/reporting/REPORT_ID/page/PAGE_ID?config=%7B%22ds0%22%3A%7B%22token%22%3A%22TOKEN_VALUE%22%7D%7D
اقتراحات
- وعليك إنشاء رمز مميّز قصير الأجل.
- تأكد من أن لوحة البيانات لا تسرّب أي معلومات تحتوي على الرمز غير صالح.