舉例來說,假設開發人員 X 為客戶提供了一個網頁應用程式。 客戶使用自己的憑證登入應用程式,並查看銷售資料 設定標籤每個客戶都能存取不同的商店清單。 開發人員想在應用程式中嵌入 Looker Studio 資訊主頁, 客戶登入後只能看到商店的銷售資料 以便取得存取權客戶不應該登入自己的 Google 帳戶 才能使這項程序生效
提議的解決方案需要開發人員建立社群連接器。 透過嵌入網址傳遞符記,然後按照符記篩選資料。
需求條件
- 資訊主頁檢視者將登入第三方應用程式。
- 應用程式應將專屬權杖傳遞至 Looker Studio 資訊主頁 。權杖可用來查詢篩選器資訊 也可以將篩選器資訊加密
- 社群連接器應能將權杖轉換為篩選器 輕鬆分配獎金
限制
- 如果您是 G Suite 客戶,而且您的管理員已停用共用功能 無法將雲端硬碟檔案設為「任何知道連結的使用者」 來聯繫機構外使用者
解決方案
請完成下列所有步驟來實作解決方案。
在網頁應用程式中產生使用者權杖
在網頁應用程式中為每位登入使用者產生專屬權杖, 在後續步驟中,將這個權杖傳遞至嵌入式資訊主頁。
應使用權杖篩選相關資料。選項包括:
- 建立 API 端點,用來傳回篩選過的資料或使用者資訊 特定符記
- 將權杖中的使用者資訊加密,以便之後解密 連接器狀態。
建立新的社群連接器
詳閱社群連接器的運作方式,並完成 社群連接器程式碼研究室即可開始使用。使用 用於建立連接器的本機開發工具,速度更快、更簡單 開發流程
編寫連接器程式碼
getConfig()
應傳回至少一個設定項目。這會用於 從嵌入網址的參數中擷取符記。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 API 端點,可取得商店 ID 清單。接著,系統會使用這些商店 ID 建立 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
設定參數, 允許報表檢視者修改參數值。 - 與所選使用者共用資訊主頁,或是選取「擁有的所有人」 連結」。
- 啟用報表的嵌入功能。
將資訊主頁嵌入平台
- 瞭解報表網址參數的運作方式。
- 使用網址參數將動態產生的權杖值傳送至
內嵌 Looker Studio 報表
您的嵌入網址看起來會像這樣:
`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
建議
- 您應建立短期權杖。
- 確保資訊主頁不會洩露任何使用 無效的權杖。