【发布时间】:2020-05-10 10:28:38
【问题描述】:
如果这太基础了,我正在学习如何编码,很抱歉,但我在这里遇到了麻烦:
我一直在尝试调用 Google Natural Language API,以向我提供有关我的 Google 电子表格的 210 行信息的信息(整个表格有 211 行)。我想将结果保存在 1 个 Json 文件中。
我正在尝试使用下面的代码运行一个循环,但我得到的 Json 文件仅包含与第一行对应的信息。也尝试将“Driveapp.createFile 代码行”放在循环函数中,但是我有很多 Json 文件,每个文件都有对应于一行的信息。而我想要的是1个Json文件,里面有210行的对应信息。
感谢您的帮助。
function analyzeText() {
var client = "Spreadsheet_ID";
var query = SpreadsheetApp.openById(client).getSheetByName("1. Template");
var result = SpreadsheetApp.openById(client).getSheetByName("Teste - Natural Language API");
var lrow = query.getLastRow();
for(var i=2; i<=211;i++)
{
var text = query.getRange(i,211).getValue()
var requestUrl = [
'https://language.googleapis.com/v1beta2/documents:analyzeEntities?key=',
'API_KEY_XXXXXXXXXXXXXXXXXXX'
].join("");
var data = {
"document": {
"language": "en-us",
"type": "PLAIN_TEXT",
"content": text
},
"encodingType": "UTF8"
};
var options = {
method : "POST",
contentType: "application/json",
payload : JSON.stringify(data)
};
var response = UrlFetchApp.fetch(requestUrl, options);
var data = JSON.parse(response);
}
DriveApp.createFile('response3.json', response, MimeType.PLAIN_TEXT);
}
【问题讨论】:
-
我可以假设您的请求有效,并且超过 200 个到
https://language.googleapis.com/v1beta2/documents:analyzeEntities的请求有效吗? -
是的,你为什么要问?你有什么问题吗?
-
感谢您的回复。关于
why do you ask? Did you have any problem?,我无法测试请求。所以我问了他们。对此我深表歉意。 -
没问题,伙计!我问是因为我可以帮忙:)
-
感谢您的回复。您的请求有效,超过 200 个到 language.googleapis.com/v1beta2/documents:analyzeEntities 的请求有效,没有错误。如果我的理解是正确的,我可以问一下您期望的样本结果吗?我认为需要创建一个包含 JSON 对象的数组。这个怎么样?而
data的var data = JSON.parse(response);是一个JSON 对象?在正确了解您的情况和目标后,我想考虑解决方案。对此我深表歉意。
标签: javascript google-apps-script google-sheets google-natural-language