【发布时间】:2017-07-17 06:36:28
【问题描述】:
我真的需要帮助才能从我的网站/本地主机在 google app 脚本中运行我的函数。
已经在google上搜索,结果必须使用google.script.run。我在尝试的时候发现google is not function的错误。
此 ini 我的 .gs 应用脚本中的代码:
/**
* This script demonstrates the use of objDB using a spreadsheet as a database
*
* objDB is a Google Script Library that makes it easy to work with data stored in a spreadsheet.
* Using the same functions, you can also work with data from a JDBC-connected database.
* See http://googlescripts.harryonline.net/objdb for full documentation
*
* This demo uses the spreadsheet template from the tutorial on the Google Apps Script
* https://developers.google.com/apps-script/storing_data_spreadsheets#reading
*
*/
/**
* To restore the data from the original spreadsheet, run getSpreadsheet()
* Try out the sample function, and create your own.
* See the results in the log, as well as on the spreadheet itself
* You can view the log file using View - Logs, or Alt-Enter
* Alternatively, put breakpoints at the Logger.log statements and use Debug instead of Run
/**
* Create a copy of the tutorial spreadsheet and stores the ID of the newly created spreadsheet
* in Usersettings, so you can continue using this.
* Restore data from original tutorial spreadsheet
*/
function getSpreadsheet()
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Tutorial Data');
sheet.clear();
var tutorialID = '0Aq4s9w_HxMs7dFNtWlh2MHRWZzEtbk5LRW5hTVR1Y1E';
var tutorialDataRange = SpreadsheetApp.openById(tutorialID).getSheets()[0].getDataRange();
var range = sheet.getRange(1,1,tutorialDataRange.getNumRows(), tutorialDataRange.getNumColumns());
range.setValues(tutorialDataRange.getValues());
}
/**
* Sample: get all data from Engineering employees
*/
function getEngineers()
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
ssDB = objDB.open( ss.getId());
var rows = objDB.getRows(ssDB, 'Tutorial Data', [], {Department:'Engineering'});
Logger.log( rows );
}
/**
* Sample: get John's phone number
* Note that non-alphanumeric characters are stripped from column names: Phone Number becomes PhoneNumber
*/
function getPhone()
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
ssDB = objDB.open( ss.getId());
var rows = objDB.getRows(ssDB, 'Tutorial Data', ['PhoneNumber'], {FirstName:'John'});
Logger.log( rows );
}
/**
* Delete staff with id's 1342 and 1234
*/
function deleteStaff()
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
ssDB = objDB.open( ss.getId());
var rowCount = objDB.deleteRow(ssDB, 'Tutorial Data', {EmployeeId:[1342,1234]});
Logger.log( rowCount );
}
/**
* Update: staff 3512 goes to marketing
*/
function updateStaff()
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
ssDB = objDB.open( ss.getId());
var rowCount = objDB.updateRow(ssDB, 'Tutorial Data', {Department:'Marketing'}, {EmployeeId:3512});
Logger.log( rowCount );
}
/**
* Add new employee
*/
function addStaff()
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
ssDB = objDB.open( ss.getId());
var rowCount = objDB.insertRow(ssDB, 'Tutorial Data', {FirstName:'Harry', LastName:'Potter', EmployeeId:4321, Department:'Magic',PhoneNumber:'(212) 123-4567'});
Logger.log( rowCount );
}
【问题讨论】:
-
您不应该在页面中包含任何其他 .js 文件吗?
-
@BehradKhodayar 我必须在我的网页中包含什么 javascript 文件?
-
通常您应该在文档中包含第三方库才能使用它
-
但是没有第三方库
-
如果您想从非 Google 产品运行 Apps 脚本代码,您可以向 Apps 脚本项目中的
doGet()或doPost()函数发出 HTTPS GET 或 POST 请求。doGet()和doPost()是保留的函数名称,由对 Apps Script Web App 的已发布 URL 的 GET 或 POST 请求触发。可以从 Apps 脚本将返回值发送回使用 Content Service 发出 GET 或 POST 请求的任何对象。请参阅以下 Stack Overfow 帖子:SO Post Call a custom GAS function from external URL
标签: javascript google-apps-script