gpt4 book ai didi

java - 将 JSON 请求转换为 Java Google Sheet API V4

转载 作者:行者123 更新时间:2023-12-02 12:00:06 25 4
gpt4 key购买 nike

在 Google 表格中 API guide ,

我读到 find 请求(查找值为“X”的单元格)可以采用 JSON 格式,如下所示:

{
"find": string,
"replacement": string,
"matchCase": boolean,
"matchEntireCell": boolean,
"searchByRegex": boolean,
"includeFormulas": boolean,

// Union field scope can be only one of the following:
"range": {
object(GridRange)
},
"sheetId": number,
"allSheets": boolean,
// End of list of possible types for union field scope.
}

可以通过该URL的形式提出请求 https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId ......

但我无法将其转换为 JAVA 代码

我发现的最接近的是以下论坛中的代码:

    requests.add(new Request().setFindReplace(new FindReplaceRequest().setFind(entry.getKey())
.setMatchEntireCell(true)
.setMatchCase(true)
.setReplacement(entry.getValue())
.setRange(new GridRange()
.setSheetId(0)
.setStartRowIndex(row)
.setEndRowIndex(row + 1))));
}



String cellReq = (new FindReplaceRequest().setFind("samuel")).getFind();

它缺少我期望从 API 得到的响应,让我知道工作表中的哪个单元格具有我要查找的值。

谢谢

最佳答案

您似乎只复制了本页指南中的部分示例:https://developers.google.com/sheets/api/guides/batchupdate#example

您需要将 FindReplaceRequest 放入 BatchUpdateSpreadsheetRequest 中(在 requests 字段中),并在 Spreadsheets.BatchUpdate 调用中发送。

完整的示例是:

List<Request> requests = new ArrayList<>();
// Change the spreadsheet's title.
requests.add(new Request()
        .setUpdateSpreadsheetProperties(new UpdateSpreadsheetPropertiesRequest()
                .setProperties(new SpreadsheetProperties()
                        .setTitle(title))
                .setFields("title")));
// Find and replace text.
requests.add(new Request()
        .setFindReplace(new FindReplaceRequest()
                .setFind(find)
                .setReplacement(replacement)
                .setAllSheets(true)));
// Add additional requests (operations) ...

BatchUpdateSpreadsheetRequest body =
        new BatchUpdateSpreadsheetRequest().setRequests(requests);
BatchUpdateSpreadsheetResponse response =
        service.spreadsheets().batchUpdate(spreadsheetId, body).execute();
FindReplaceResponse findReplaceResponse = response.getReplies().get(1).getFindReplace();
System.out.printf("%d replacements made.", findReplaceResponse.getOccurrencesChanged());

关于java - 将 JSON 请求转换为 Java Google Sheet API V4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47329124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com