簡體   English   中英

如何允許用戶通過我自己的 Google Scripts Web 應用程序編輯我的表格文件?

[英]How do I allow users to edit my Sheets file via my own Google Scripts Web App?

我是新的谷歌腳本。 我正在嘗試創建一個 web 應用程序,用戶可以通過該應用程序登錄(使用他們的 Gmail 帳戶)並修改 Google 表格。 這是注冊頁面的截圖。

登錄頁面

最初,用戶通過他們現有的 Google 帳戶登錄並顯示此頁面。 單擊按鈕后,我想要腳本將他們提交的信息和他們當前的 email 添加到 Google 表格中。 一旦他們的信息出現在工作表中,他們只需通過 Google 登錄即可訪問系統。 但是,當我使用另一個帳戶嘗試此操作時,我收到此錯誤:

您需要訪問權限

這是權限問題嗎? 還是 Google Scripts 不允許對我的雲端硬盤上的文件進行這種直接操作? 這是我的 web 應用程序的權限設置:

Web 應用程序權限

這是可能嗎?

根據您的問題,我可以理解您的 Web 應用程序的設置如下。

  • Execute the app as: User accessing the web app
  • Who has access to the app: Anyone

對於上述 Web 應用程序,您想讓用戶使用每個瀏覽器訪問 Web 應用程序。

確認要點:

從以上情況,請確認以下幾點。 起初,我認為當您要放置值的電子表格在每個用戶的 Google Drive 中時,不會發生錯誤。 所以從你的問題來看,我認為電子表格可能在你的谷歌驅動器中。

  • 雖然我不確定您的整個腳本,但如果您的 Web 應用程序腳本中使用的 Google 電子表格在您的 Google Drive 中,則需要與用戶共享 Google 電子表格。 即使Web Apps的腳本是Spreadsheet的容器綁定腳本,使用getActiveSpreadsheet() ,也需要與用戶共享Spreadsheet。
    • 當您想在用戶提交表單時將值放入您的 Google Drive 中的電子表格時,請與作為作者的用戶共享電子表格。
    • 如果您只想在用戶提交表單時從 Google Drive 中的電子表格中讀取值,請以查看者的身份與用戶共享電子表格。
    • 此外,您可以公開分享。 但我認為這可能不是你所期望的方向。

其他方法:

如果您不想與用戶共享電子表格,以下解決方法如何?

  1. 按照以下設置部署新的 Web 應用程序。
    • Execute the app as: Me
    • Who has access to the app: Anyone, even anonymous
      • 在這種情況下,您還可以使用密鑰作為查詢參數,讓用戶訪問此 Web 應用程序。
      • Who has access to the app: Anyone ,需要與用戶共享新的Web 應用程序的腳本。 所以我建議在這種情況下使用Anyone, even anonymous
  2. 提交表單后,使用這個新的 Web 應用程序將值放入您的 Google 電子表格。
    • 在這種情況下,新的 Web 應用程序用作包裝器 API 以將值放入電子表格。

參考:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM