使用cURL在Google Apps脚本函数中添加数组作为参数
我在Google Apps脚本中创建了一个函数,用于在Google Drive中创建和管理多个项目(例如,创建文件夹、新文档或Xls文件等)。重要的是我有4个文档(或模板):MainDoc+3个附加文档文件。在我的脚本中,复制并重命名MainDoc文件(使用cURL在Google Apps脚本函数中添加数组作为参数,curl,google-apps-script,google-apps-script-api,Curl,Google Apps Script,Google Apps Script Api,我在Google Apps脚本中创建了一个函数,用于在Google Drive中创建和管理多个项目(例如,创建文件夹、新文档或Xls文件等)。重要的是我有4个文档(或模板):MainDoc+3个附加文档文件。在我的脚本中,复制并重命名MainDoc文件(step1),然后在第二步中,使用将要添加/组合其在MainDoc上的文本的3个附加文件的ID定义数组(step2)。 为了便于理解,我展示了我的功能的基本结构: 1 function GlobalWorkflow(ProjectID, m
step1
),然后在第二步中,使用将要添加/组合其在MainDoc上的文本的3个附加文件的ID定义数组(step2
)。
为了便于理解,我展示了我的功能的基本结构:
1 function GlobalWorkflow(ProjectID, mergeDocsID) {
2 ...
3 //### STEP1 ###//
4 var newFolderID = parentFolder.createFolder(date + '_Report').getId();
5 var newFolder = DriveApp.getFolderById(newFolderID);
6 var docTemplateID = "##MainDocID##";
7 var getDOCTemplate = DriveApp.getFileById(docTemplateID);
8 var MainDocID = getDOCTemplate.makeCopy(date + '_Report', newFolder).getId();
9 ...
10 //### STEP2 ###//
11 //Input: documentIDs to merge
12 //var mergeDocsID = "##Doc2ID##|##Doc3ID##|##Doc4ID##"
13 var mergeArray = mergeDocsID.split('|');
14 for (var i = 0; i < mergeArray.length; i++) {
15 mergeGoogleDocs(MainDocID, mergeArray[i]);
16 }
17 ...
18 }
我现在的问题是,我想运行“GlobalWorkflow
”函数,但其中一个参数(mergeDocsID)是带有要组合的文档文件ID的数组,我从cURL获得了整个脚本,除了该部分(Step2
),尽管响应没有给我错误
这是我使用的命令:
curl -X POST \
-H 'Authorization: Bearer ### access token ###' \
-H "Content-Type: application/json" \
-d '{"function": "##function name##", "parameters": ["##MainDocID##", "##Doc2ID##|##Doc3ID##|##Doc4ID##"], devMode: true}' \
"https://script.googleapis.com/v1/scripts/### script ID ###:run"
如何在cURL命令中包含数组以使“mergeGoogleDocs
”函数工作
另外,如果我取消注释第12行并从GAS运行函数,那么一切都会正常工作,并且创建了包含4个文件的组合文档。不起作用的是cURL命令
有人能帮我吗
多谢各位
沃迪亚姆我相信你的目标和你目前的状况如下
- 您需要使用curl命令将一个数组(如
赋给[“###Doc2ID###################,“##Doc4ID###”
的GlobalWorkflow(projectd,mergeDocsID)
mergeDocsID
- 您已经确认,当为函数
指定了正确的值时,脚本工作正常GlobalWorkflow
- 您已经能够使用Google Apps脚本API运行函数
[“##Doc2ID####”、“#Doc3ID###”、“#Doc4ID###”]
的数组,请修改curl命令如下
发件人:
致:
- 通过以上修改,
数组作为[“##Doc2ID####”、“##Doc3ID##”、“##Doc4ID##”
的GlobalWorkflow(projectd,mergeDocsID)
给出。所以在Google Apps脚本端,当运行上面修改的curl命令并选中mergeDocsID
时,将返回mergeDocsID[0]
“###Doc2ID#”
curl -X POST \
-H 'Authorization: Bearer ### access token ###' \
-H "Content-Type: application/json" \
-d '{"function": "##function name##", "parameters": ["##MainDocID##", "##Doc2ID##|##Doc3ID##|##Doc4ID##"], devMode: true}' \
"https://script.googleapis.com/v1/scripts/### script ID ###:run"
curl -X POST \
-H 'Authorization: Bearer ### access token ###' \
-H "Content-Type: application/json" \
-d '{"function": "##function name##", "parameters": ["##MainDocID##", "##Doc2ID##|##Doc3ID##|##Doc4ID##"], devMode: true}' \
"https://script.googleapis.com/v1/scripts/### script ID ###:run"
curl -X POST \
-H 'Authorization: Bearer ### access token ###' \
-H "Content-Type: application/json" \
-d '{"function": "##function name##", "parameters": ["##MainDocID##", ["##Doc2ID##","##Doc3ID##","##Doc4ID##"]], devMode: true}' \
"https://script.googleapis.com/v1/scripts/### script ID ###:run"