1
我有一個非常具體的情況,我正在用谷歌應用程序腳本構建服務(addon),並且有一個功能我想嘗試但我一直在努力處理文檔。Google表格允許訪問一個web應用程序
我將構建和部署一個webapp,任何人都可以訪問它,一個簡單的表單。我希望這個表單在谷歌表上寫一行,交易是我不會知道工作表編號,我正在構建一個附加組件,它將允許任何工作表訪問web應用程序並收回帖子或獲取變量並使用它們。
任何想法?
我有一個非常具體的情況,我正在用谷歌應用程序腳本構建服務(addon),並且有一個功能我想嘗試但我一直在努力處理文檔。Google表格允許訪問一個web應用程序
我將構建和部署一個webapp,任何人都可以訪問它,一個簡單的表單。我希望這個表單在谷歌表上寫一行,交易是我不會知道工作表編號,我正在構建一個附加組件,它將允許任何工作表訪問web應用程序並收回帖子或獲取變量並使用它們。
任何想法?
謝謝桑迪我也有同樣的想法;
首先,我構建一個附加組件,該附加組件將允許表單由webApp寫入,並提供帶有表單ID的GET變量。
function useWebApp() {
var sheetID = SpreadsheetApp.getActiveSpreadsheet().getId();
var openFile = DriveApp.getFileById(sheetID)
openFile.setSharing(DriveApp.Access.ANYONE_WITH_LINK, DriveApp.Permission.EDIT);
SpreadsheetApp.getUi().alert("https:// [WEBAPPLINK] /exec?sheet="+sheetID);
}
第二,如所建議的那樣,我構建WebApp並使用提供的HTTP GET變量在表單上進行寫入。
function doGet(e) {
var app = UiApp.createApplication();
var targetSheet = e.parameter.sheet;
var label = app.createLabel('Parameter value sheet:'+e.parameter.sheet;
app.add(label);
//insertSheetLine(e.parameter.sheet); //test to insert rows directly
PropertiesService.getScriptProperties().setProperty('targetSheet', e.parameter.sheet); //define a global variable in the script
return HtmlService.createHtmlOutputFromFile('index')
.setSandboxMode(HtmlService.SandboxMode.IFRAME);
}
這樣,只要Web應用程序發佈到模擬所有者,就可以避免OAuth交易。考慮到這一點,任何人都可以使用它並在沒有註冊的工作表中書寫。 主要想法是使用可安裝的useWebApp方法發佈附加組件,以便它可以在任何工作表上使用。
再次感謝桑迪
這是什麼樣的附加組件?電子表格?附加組件與其安裝的文檔(Spreadsheet)相關聯。您可以使用SpreadsheetApp.getActiveSpreadsheet()來獲取電子表格。如果情況並非如此,那麼您需要爲用戶提供一個文件選擇器,以便他們可以選擇他們想要使用的電子表格。 [鏈接到Google文件選取器](https://developers.google.com/picker/) –
您的問題被視爲「Off Topic」,因爲它是一般性的。堆棧溢出不是一般的建議。您可以加入Apps腳本社區[鏈接到Apps腳本組](https://plus.google.com/communities/102471985047225101769)和附加組[Link](https://plus.google.com/communities/117193953428311185494) –
非常感謝桑迪,是的,它將是一個電子表格插件,我的問題是如何告訴電子表格插件的安裝位置,以允許訪問獨立的webapp? –