Drive Batch API返回除JSON可解析内容之外的文本内容

问题描述 投票:0回答:1

我的批处理过程(创建一些文件夹)进行得很好,但是我返回的响应不是我期望的干净的JSON,但它散布了纯文本标题。如何摆脱它们或正确解析呢?

--batch__AAPXnCR1-5Q
Content-Type: application/http
Content-ID: response-1

HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Date: Wed, 02 Oct 2019 22:44:16 GMT
Expires: Wed, 02 Oct 2019 22:44:16 GMT
Cache-Control: private, max-age=0
Content-Length: 140

{
 "kind": "drive#file",
 "id": "1pznPt",
 "name": "SF1-B1",
 "mimeType": "application/vnd.google-apps.folder"
}

--batch_z3tbQ5Q

创建这些文件夹之后,我只需要能够提取它们的ID和名称。

google-apps-script google-drive-api
1个回答
0
投票

这个答案怎么样?

[遗憾的是,无法使用Google Apps脚本和Javascript的内置功能直接解析响应值。因此,就我而言,我使用以下脚本解析响应值。我认为有几种方法可以解决这种情况。因此,请仅将此作为几个答案之一。

示例脚本1:

var response = UrlFetchApp.fetch(url, options).getContentText(); // Here, the batch request is run.

var temp = response.split("--batch");
var parsedValue = temp.slice(1, temp.length - 1).map(function(e){return JSON.parse(e.match(/{[\S\s]+}/g)[0])});

示例脚本2:

var response = UrlFetchApp.fetch(url, options).getContentText(); // Here, the batch request is run.

var parsedValue = response.match(/{[\s\S]+?}/g).map(function(e) {return JSON.parse(e)});

如果这不是您想要的方向,我很抱歉。

© www.soinside.com 2019 - 2024. All rights reserved.