該檔案與作為編輯者的谷歌帳戶共享。webapp 的發布如問題/主題中所述。當編輯運行腳本時,日志會顯示Session.getEffectiveUser()并Session.getAcitveUser()顯示編輯的電子郵件地址,因此,一些檔案訪問會引發錯誤 - 權限被拒絕。
該腳本在單擊按鈕時運行。我也嘗試將其設定為庫,但我遇到了同樣的權限問題。
除了更廣泛和更深入的知識,我在這里還缺少什么?
uj5u.com熱心網友回復:
doGet“以我身份運行”和“任何人”等 Web 應用部署設定doPost僅在通過 HTTP 請求呼叫時(使用 Web 應用 URL 呼叫時)才有效。
如果您通過插入繪圖并為其分配函式來設定電子表格上的按鈕,則 Web 應用程式部署設定不會對直接呼叫 Google Apps 腳本服務(如 SpreadsheetApp)的函式產生任何影響,但如果該函式可能會起作用使用 UrlFetchApp 服務向您的 Web 應用程式發出 HTTP 請求。
這是一個過于簡化的 Google Apps 腳本服務器端代碼 (.gs),用于呼叫網路應用程式:
function callMyWebApp(){
const url = 'put here your web app URL';
const response = UrlFetchApp.fetch(url); // This will do a GET request
// do something with the response
}
一種更簡單的方法可能是使用可安裝觸發器,因為它不需要處理另一個“復雜層”,因為它不需要向您的專案(UrlFetchApp)添加另一個服務,也不需要部署網路應用程式并在每次更新代碼時制作一個新版本,但如果你想保持編輯授權的最小范圍,你將不得不使用網路應用程式方法。
有關的
- 將編輯器限制為特定范圍腳本
- 如何在特定用戶的權限下運行某些腳本?
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/444214.html
