ตัวอย่างเช่น สมมติว่านักพัฒนาซอฟต์แวร์ X มีเว็บแอปพลิเคชันให้กับลูกค้า ลูกค้าจะเข้าสู่ระบบแอปโดยใช้ข้อมูลเข้าสู่ระบบของตนเองและดูข้อมูลการขายของ App Store ต่างๆ ได้ ลูกค้าแต่ละรายมีสิทธิ์เข้าถึงรายการร้านค้าที่แตกต่างกัน นักพัฒนาซอฟต์แวร์ต้องการฝังแดชบอร์ด Looker Studio ไว้ในแอปพลิเคชันเพื่อที่ลูกค้าจะเห็นเฉพาะข้อมูลยอดขายของร้านค้าที่มีสิทธิ์เข้าถึงเท่านั้น เมื่อลูกค้าลงชื่อเข้าสู่ระบบ ลูกค้าไม่ควรต้องลงชื่อเข้าใช้บัญชี Google ของตนเพื่อให้กระบวนการนี้ทำงานได้
โซลูชันที่เสนอจะต้องให้นักพัฒนาซอฟต์แวร์สร้างปลั๊กอินจากชุมชนสำหรับใช้ลิงก์ข้อมูล ส่งผ่านโทเค็นผ่าน URL ที่ฝัง แล้วกรองข้อมูลตามโทเค็น
ข้อกำหนด
- ผู้ดูหน้าแดชบอร์ดจะเข้าสู่ระบบแอปพลิเคชันของบุคคลที่สาม
- แอปพลิเคชันควรส่งโทเค็นที่ไม่ซ้ำกันไปยังหน้าแดชบอร์ดของ Looker Studio ผ่าน URL ที่ฝังไว้ โทเค็นนี้สามารถใช้ค้นหาข้อมูลตัวกรองหรือเข้ารหัสข้อมูลตัวกรองไว้ด้านใน
- Community Connector ควรสามารถแปลงโทเค็นเป็นค่าตัวกรองได้
ข้อจำกัด
- หากคุณเป็นลูกค้า G Suite และผู้ดูแลระบบปิดการแชร์ไฟล์ในไดรฟ์กับ "ทุกคนที่มีลิงก์" คุณจะไม่สามารถแชร์รายงานนี้กับผู้ใช้ภายนอกองค์กรได้
โซลูชัน
ทำตามขั้นตอนต่อไปนี้ทั้งหมดเพื่อนำโซลูชันไปใช้
สร้างโทเค็นผู้ใช้ในเว็บแอป
สร้างโทเค็นที่ไม่ซ้ำกันสำหรับผู้ใช้แต่ละคนที่ลงชื่อเข้าสู่ระบบในเว็บแอปพลิเคชันของคุณ คุณจะส่งโทเค็นนี้ไปยังหน้าแดชบอร์ดที่ฝังในขั้นตอนถัดไป
คุณควรใช้โทเค็นเพื่อกรองข้อมูลที่เกี่ยวข้อง โดยมีตัวเลือกดังนี้
- สร้างปลายทาง API ซึ่งแสดงผลข้อมูลที่กรองแล้วหรือข้อมูลผู้ใช้สำหรับโทเค็นที่เจาะจง
- เข้ารหัสข้อมูลผู้ใช้ในโทเค็นเพื่อให้ถอดรหัสภายหลังในเครื่องมือเชื่อมต่อได้
สร้างปลั๊กอินจากชุมชนสำหรับใช้ลิงก์ข้อมูลใหม่
โปรดอ่านวิธีการทำงานของปลั๊กอินจากชุมชนสำหรับใช้ลิงก์ข้อมูล แล้วกรอก Codelab ของเครื่องมือเชื่อมต่อชุมชนเพื่อเริ่มต้นใช้งาน ใช้เครื่องมือการพัฒนาในพื้นที่สำหรับการสร้างเครื่องมือเชื่อมต่อเพื่อขั้นตอนการพัฒนาที่ง่ายและรวดเร็วยิ่งขึ้น
เขียนรหัสเครื่องมือเชื่อมต่อ
getConfig()
ควรแสดงรายการกำหนดค่าอย่างน้อย 1 รายการ แท็กนี้จะใช้เพื่อเก็บโทเค็นจากพารามิเตอร์ของ 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()
ระบบจะส่งโทเค็นไปยังปลายทาง API ของ 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
การแนะนำวิดีโอ
- คุณควรสร้างโทเค็นที่มีอายุสั้น
- ตรวจสอบว่าหน้าแดชบอร์ดไม่ทำให้ข้อมูลรั่วไหลเมื่อมีการดูด้วยโทเค็นที่ไม่ถูกต้อง