2015-03-02 29 views
0

我有一個綁定到Google Spreadsheet的gui。我最初使用內置的谷歌按鈕和其他谷歌元素編寫了gui。最近,谷歌貶低這些API,所以我用html/javascript重寫它。使用谷歌服務器功能填充html字段

這裏是我的問題:假設我有一個HTML文本字段,我想GUI來從一個谷歌的表中的數據交互。做這個的最好方式是什麼?

例如,假設我想在電子表格中更改單元格。爲什麼下面的html不會產生我預期的更改?

<script type="text/javascript"> 

function onSuccess(argReturnValue) { 
alert('Success ' + argReturnValue); 
} 

var data = google.script.run.withSuccess(onSuccess).SpreadsheetApp.getActiveSheet().getRange(1,14).setvalue('in HTML'); 

我是相當新的JavaScript和HTML,所以我可能有怎樣的兩者互動,或者可能只是用腳本功能失常的一些基本誤解。

據我所知,運行一些腳本的另一種方法是使用腳本標記,如下所示:

<script src= 'fileExtension.gs'></script> 

但我不知道用這種方法如何填寫HTML文本字段。

在此先感謝您的幫助,哪怕只是指着我的這個教程,或者說我需要閱讀的API。

回答

0

你提到的正在使用的應用程序腳本(https://developers.google.com/apps-script/)的代碼。 在這裏,你可以找到關於如何使這些類型的調用的文件:調用方法google.script.run.withSuccessHandler(的onSuccess).doSomething()時https://developers.google.com/apps-script/guides/html/communication

;

這個函數調用函數「DoSomething的」你「.GS」文件中定義。然後服務器將執行該功能並返回結果。

有了這個功能,你可以打電話,Apps Script的你在「.GS」文件中定義的功能,而不是服務,這意味着調用SpreadsheetApp或其他服務將無法正常工作。

如果你不使用的應用程序的腳本,在這裏你可以找到在電子表格API文檔:https://developers.google.com/google-apps/spreadsheets/

希望它幫助。

+0

這確實有幫助,非常感謝。我有一些要做的事情,但只是爲了澄清,當你說「有了這個功能,你可以調用你在」.gs「文件中定義的函數,但不是用於apps腳本的服務,這意味着調用SpreadsheetApp或其他服務將無法工作。「你的意思是我不能從HTML調用應用程序腳本?或者.gs文件無法爲應用程序執行服務? – Jordando 2015-03-02 20:18:35

+0

在應用程序腳本中,「服務」意味着API ...所以如果您想使用GMail API函數,您可以使用GmailApp服務來執行此操作。在您在.gs文件中聲明的函數中,您可以調用SpreadsheetApp服務等這些服務。從html中你可以調用你自己的函數,但不是你在代碼中發佈的服務。此外,html需要bi鏈接到apps腳本項目:https://developers.google.com/apps-script/guides/html/讓我知道如果它仍然不清楚 – Gerardo 2015-03-02 20:41:08