如何使用Google Sheets API添加超链接?

时间:2018-12-05 12:54:26

标签: google-sheets-api

我正在尝试编写python脚本以将超链接添加到Google表格。我正在为此使用google api。通过搜索,我收集到我需要向其余api传递“ = HYPERLINK()”类型的消息。

摘自文档:https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/other#ExtendedValue.FIELDS.formula_value

{
  // Union field value can be only one of the following:
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "formulaValue": string,
  "errorValue": {
    object(ErrorValue)
  }
  // End of list of possible types for union field value.
}

看来我应该使用'formulaValue'属性。

编辑: 我尝试使用UpdateCells请求

编辑:下面的解决方案。

1 个答案:

答案 0 :(得分:1)

我知道了:

def addHyperlink(self, hyperlink, text, sheetId, rowIndex, colIndex):
    requests = []
    requests.append({
        "updateCells": {
            "rows": [
                {
                    "values": [{
                        "userEnteredValue": {
                            "formulaValue":"=HYPERLINK({},{})".format(hyperlink, text) 
                        }
                    }]
                }
            ],
            "fields": "userEnteredValue",
            "start": {
                "sheetId": sheetId,
                "rowIndex": rowIndex,
                "columnIndex": colIndex
            }
        }})
    body = {
        "requests": requests
    }
    request = self.service.spreadsheets().batchUpdate(spreadsheetId=self.spreadsheetId, body=body)
    return request.execute()