ตัวอย่างเช่น สมมติว่าคุณพยายามสร้างโซลูชันสำหรับองค์กรขาย ฝ่ายขายแบ่งออกเป็นหลายภูมิภาคโดยที่แต่ละภูมิภาคมีผู้จัดการระดับภูมิภาคเป็นของตนเอง ชุดข้อมูลยอดขายใน BigQuery มียอดขายตามภูมิภาคและวันที่
โซลูชันที่เสนอจะมีหน้าแดชบอร์ดเดียวซึ่งผู้จัดการระดับภูมิภาคสามารถดูข้อมูลการขายสำหรับภูมิภาคของตนเท่านั้น
ข้อกำหนด
- ผู้ดูหน้าแดชบอร์ดจะลงชื่อเข้าใช้ด้วยบัญชี Google
- มีการแมประหว่างอีเมลของผู้ใช้กับข้อมูล/แถวที่ผู้ใช้มีสิทธิ์เข้าถึง
- ระบบจะใช้บัญชีบริการเพื่อเข้าถึงข้อมูล BigQuery ดังนั้น ผู้ให้บริการแดชบอร์ดจึงจัดการการเรียกเก็บเงินเป็นส่วนกลาง
ข้อจำกัด
- หน้าแดชบอร์ดกำหนดให้มีการให้สิทธิ์แบบครั้งเดียวจากผู้ดูแต่ละรายในการดูครั้งแรก
- ผู้ชมจะแก้ไขหน้าแดชบอร์ดหรือแชร์กับผู้อื่นไม่ได้
- หากคุณเป็นลูกค้า Workspace และผู้ดูแลระบบได้ปิดใช้การแชร์ไฟล์ในไดรฟ์กับ "ทุกคนที่มีลิงก์" โปรดนำข้อจำกัดการแชร์ออกหรือพัฒนาโซลูชันในบัญชี Gmail.com
โซลูชัน
ทำตามขั้นตอนต่อไปนี้ทั้งหมดเพื่อนำโซลูชันไปใช้
สร้างปลั๊กอินจากชุมชนสำหรับใช้ลิงก์ข้อมูลใหม่
โปรดอ่านวิธีการทำงานของปลั๊กอินจากชุมชนสำหรับใช้ลิงก์ข้อมูล แล้วกรอกข้อมูลใน Community Connector Codelab เพื่อเริ่มต้นใช้งาน ใช้เครื่องมือสำหรับนักพัฒนาซอฟต์แวร์สำหรับการสร้างเครื่องมือเชื่อมต่อเพื่อขั้นตอนการพัฒนาที่ง่ายและรวดเร็วยิ่งขึ้น
เขียนรหัสเครื่องมือเชื่อมต่อ
getAuthType()
ควรแสดงผลNONE
getConfig()
ควรส่งคืนการกำหนดค่าที่ว่างเปล่า- ไม่บังคับ: หากต้องการข้อมูลที่เจาะจงสำหรับการกำหนดค่าหน้าแดชบอร์ด คุณขอข้อมูลจากผู้ใช้ได้ที่นี่
getSchema()
ควรแสดงสคีมาสำหรับการค้นหาของคุณ- ไม่บังคับ: คุณจะเพิ่มช่องและการคำนวณที่กำหนดเองในการค้นหา SQL หรือจะใช้ช่องที่คำนวณแล้วเป็นส่วนหนึ่งของสคีมาก็ได้
getData()
จะเสร็จสมบูรณ์ในขั้นตอนถัดไป
อัปเดตไฟล์ Manifest
ดูข้อมูลอ้างอิงของไฟล์ Manifest และกรอกไฟล์ Manifest ด้วยข้อมูลที่จำเป็นทั้งหมด ซึ่งรวมถึงข้อมูลต่อไปนี้
- ตั้งค่า
dataStudio.forceViewersCredentials
เป็นtrue
- ตั้งค่า
dataStudio.advancedServices.data
เป็นtrue
- สำหรับ
oauthScopes
ให้เพิ่มhttps://www.googleapis.com/auth/userinfo.email
และhttps://www.googleapis.com/auth/script.external_request
โปรดดูข้อมูลเพิ่มเติมที่ขอบเขตการให้สิทธิ์สำหรับ Apps Script- มีเงื่อนไข: เพิ่มขอบเขตที่เกี่ยวข้องทั้งหมดสำหรับบริการที่ใช้ในเครื่องมือเชื่อมต่อ
ไฟล์ Manifest ควรมีลักษณะดังนี้
{
...
"dataStudio": {
"forceViewersCredentials": true,
"advancedServices": {
"data": true
},
...
}
"oauthScopes": [
"https://www.googleapis.com/auth/script.external_request",
"https://www.googleapis.com/auth/userinfo.email"
],
...
}
ใช้บัญชีบริการ
- สร้างบัญชีบริการในโปรเจ็กต์ Google Cloud นี่คือโครงการเรียกเก็บเงินของคุณ
- ตรวจสอบว่าบัญชีบริการนี้มีสิทธิ์เข้าถึง BigQuery ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์
- บทบาท Identity and Access Management (IAM) ที่จำเป็น:
BigQuery Data Viewer
,BigQuery Job User
- บทบาท Identity and Access Management (IAM) ที่จำเป็น:
- ดาวน์โหลดไฟล์ JSON เพื่อรับคีย์บัญชีบริการ จัดเก็บคีย์ในพร็อพเพอร์ตี้สคริปต์ของโปรเจ็กต์เครื่องมือเชื่อมต่อ
- รวมไลบรารี OAuth2 สำหรับ Apps Script ไว้ในโปรเจ็กต์ Apps Script
- นำรหัส OAuth2 ที่จำเป็นสำหรับบัญชีบริการต่อไปนี้ไปใช้
var SERVICE_ACCOUNT_CREDS = 'SERVICE_ACCOUNT_CREDS'; var SERVICE_ACCOUNT_KEY = 'private_key'; var SERVICE_ACCOUNT_EMAIL = 'client_email'; var BILLING_PROJECT_ID = 'project_id'; /** * Copy the entire credentials JSON file from creating a service account in GCP. */ function getServiceAccountCreds() { return JSON.parse(scriptProperties.getProperty(SERVICE_ACCOUNT_CREDS)); } function getOauthService() { var serviceAccountCreds = getServiceAccountCreds(); var serviceAccountKey = serviceAccountCreds[SERVICE_ACCOUNT_KEY]; var serviceAccountEmail = serviceAccountCreds[SERVICE_ACCOUNT_EMAIL]; return OAuth2.createService('RowLevelSecurity') .setAuthorizationBaseUrl('https://accounts.google.com/o/oauth2/auth') .setTokenUrl('https://accounts.google.com/o/oauth2/token') .setPrivateKey(serviceAccountKey) .setIssuer(serviceAccountEmail) .setPropertyStore(scriptProperties) .setCache(CacheService.getScriptCache()) .setScope(['https://www.googleapis.com/auth/bigquery.readonly']); }
นำ getData()
ไปใช้
- สร้างการค้นหา BigQuery
- ใช้อีเมลเพื่อค้นหาการจับคู่ระหว่างอีเมลและข้อมูล
- ใช้คำสั่ง "JOIN" และ/หรือ "WHERE" เพื่อกรองข้อมูล
- รับอีเมลของผู้ใช้ที่มีประสิทธิภาพ (การอ้างอิงข้อมูลประจำตัวผู้ใช้)
- ใช้บริการขั้นสูงของ Looker Studio เพื่อแสดงผลการกำหนดค่าการค้นหาจาก getData
- ส่งการค้นหาที่สร้างขึ้น โปรเจ็กต์การเรียกเก็บเงิน และโทเค็น OAuth ของบัญชีบริการ
- มีเงื่อนไข: หากคุณรับข้อมูลจากผู้ใช้ผ่านเครื่องมือเชื่อมต่อ
getConfig
คุณควรรวมอินพุตนั้นเป็นพารามิเตอร์ BigQuery
สร้างหน้าแดชบอร์ด
- ทำความเข้าใจวิธีการทำงานของการทำให้ใช้งานได้และเวอร์ชันสำหรับเครื่องมือเชื่อมต่อ
- สร้างการทำให้ใช้งานได้จริงสำหรับเครื่องมือเชื่อมต่อ
- ใช้การทำให้ใช้งานได้เวอร์ชันที่ใช้งานจริงเพื่อสร้างแหล่งข้อมูลและรายงานใหม่ใน Looker Studio
- เพิ่มตารางและแผนภูมิทั้งหมดในรายงาน
- ตอนนี้แดชบอร์ดพร้อมที่จะแชร์กับผู้ใช้แล้ว
ทำให้หน้าแดชบอร์ดพร้อมใช้งานสำหรับผู้ใช้
- แชร์สคริปต์เครื่องมือเชื่อมต่อกับผู้ใช้ที่เลือกหรือกับ "ทุกคนที่มีลิงก์"
- แชร์หน้าแดชบอร์ดกับผู้ใช้ที่เลือกหรือกับ "ทุกคนที่มีลิงก์"
- ไม่บังคับ: ใช้บริการเครื่องมือย่อ URL เพื่อสร้างลิงก์แบบสั้นสำหรับ URL ของหน้าแดชบอร์ด แชร์ URL แบบย่อกับผู้ใช้ วิธีนี้จะช่วยแทนที่ URL ของหน้าแดชบอร์ดในภายหลังหากจำเป็น
- ไม่บังคับ: วัดการใช้งานหน้าแดชบอร์ดโดยการตั้งค่า Google Analytics สําหรับรายงาน