在Python中,我使用以下代码调用google apps脚本:
#Create an execution request object.
request = {"function": "getFoldersUnderRoot", "parameters": [3]}
# Make the API request.
response = service.scripts().run(body=request, scriptId=SCRIPT_ID).execute()
但是在我的剧本中,我似乎无法访问参数值(在我的情况下为3)。
脚本如下:
function getFoldersUnderRoot(tc) {
var root = DriveApp.getRootFolder();
var folders = root.getFolders();
var folderSet = {};
while (folders.hasNext()) {
var folder = folders.next();
folderSet[folder.getId()] = folder.getName();
}
var Id = XXXX;
var dat = SpreadsheetApp.openById(Id);
SpreadsheetApp.setActiveSpreadsheet(dat);
var sheet = SpreadsheetApp.getActiveSpreadsheet();
sheet.getRange("A3").setValue(tc);
return folderSet;
}
我得到了:"未定义"在单元格A3中.....我不是精通JavaScript或Python ...我错过了一些明显的东西吗?
谢谢!
答案 0 :(得分:0)
void SetLucidaFont()
{
HANDLE StdOut = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_FONT_INFOEX info;
memset(&info, 0, sizeof(CONSOLE_FONT_INFOEX));
info.cbSize = sizeof(CONSOLE_FONT_INFOEX); // prevents err=87 below
if (GetCurrentConsoleFontEx(StdOut, FALSE, &info))
{
info.FontFamily = FF_DONTCARE;
info.dwFontSize.X = 0; // leave X as zero
info.dwFontSize.Y = 14;
info.FontWeight = 400;
_tcscpy_s(info.FaceName, L"Lucida Console");
if (SetCurrentConsoleFontEx(StdOut, FALSE, &info))
{
}
}
}
,因此需要将声明变量getRange()
的行更改为此
sheet
或者您可以使用
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
答案 1 :(得分:0)
好的......我的坏......
我没有意识到你必须在每次更改后发布google脚本...保存它是不够的(即外部程序仍会看到旧版本的脚本)...
我希望我早点意识到这一点!!