Python GoogleAppClient使用背景色追加行

Python GoogleAppClient使用背景色追加行,python,google-sheets-api,Python,Google Sheets Api,我试图在设置背景色的同时将一行插入google工作表 我已将附加到新行,工作正常。从我在文档中看到的内容来看,backgroundcolor被设置为RGB字典,但我找不到任何文档可以在官方API中实现这一点。我在append调用中尝试过,但似乎不起作用 这似乎更可能是在身体指令中,但我尝试过在那里的变化,我得到了打字错误的反应 range_notation = "Sheet1" body = { 'values': [ row ],

我试图在设置背景色的同时将一行插入google工作表

我已将附加到新行,工作正常。从我在文档中看到的内容来看,backgroundcolor被设置为RGB字典,但我找不到任何文档可以在官方API中实现这一点。我在append调用中尝试过,但似乎不起作用

这似乎更可能是在身体指令中,但我尝试过在那里的变化,我得到了打字错误的反应

range_notation = "Sheet1"
    body = {
        'values': [
            row
        ],
        'backgroundColor' : {'red': 1, 'green': 0, 'blue': 100}
    }

    result = sheet.values().append(spreadsheetId=spreadsheet_id,
                                   range=range_notation,
                                   body=body,
                                   valueInputOption="RAW",
                                   insert
尝试了以下变化:

body = {
        'values': [
            {
                'userEnteredValue': row,
                'userEnteredFormat': {
                    'backgroundColor': {'red': 100, 'green': 0, 'blue': 0},
                },
            },
        ],

    }
但是它从库中得到一个HttpError。

  • 您希望通过放置值来追加行
  • 要更改附加行的背景色
  • 您希望通过使用带有python的google api python客户端来实现这一点
  • 您已经使用Sheets API输入并获取了电子表格的值
如果我的理解是正确的,那么这个示例脚本怎么样

修改点:
  • 为了附加值和更改背景颜色,使用了spreadsheets.batchUpdate-In-Sheets API的方法
模式1: 在此模式中,“sample1”、“sample2”、“sample3”的值作为一行附加到图纸中,并修改这些单元格的背景色

示例脚本: 模式2: 在此模式中,“sample1”、“sample2”、“sample3”的值作为一行附加到图纸中,并修改该行的背景色

示例脚本: 参考资料:
如果我误解了你的问题,而这不是你想要的结果,我道歉。

  • 您希望通过放置值来追加行
  • 要更改附加行的背景色
  • 您希望通过使用带有python的google api python客户端来实现这一点
  • 您已经使用Sheets API输入并获取了电子表格的值
如果我的理解是正确的,那么这个示例脚本怎么样

修改点:
  • 为了附加值和更改背景颜色,使用了spreadsheets.batchUpdate-In-Sheets API的方法
模式1: 在此模式中,“sample1”、“sample2”、“sample3”的值作为一行附加到图纸中,并修改这些单元格的背景色

示例脚本: 模式2: 在此模式中,“sample1”、“sample2”、“sample3”的值作为一行附加到图纸中,并修改该行的背景色

示例脚本: 参考资料:
如果我误解了你的问题,而这不是你想要的结果,我道歉

spreadsheet_id = '###' # Please set Spreadsheet ID
sheetId = 0 # Please set sheet ID. For example, the 1st sheet ID of the default Spreadsheet is 0.
row = ['sample1', 'sample2', 'sample3'] # Please set the values.

values = [{'userEnteredFormat': {'backgroundColor': {'red': 1, 'green': 0, 'blue': 100}}, 'userEnteredValue': {'stringValue': col}} for col in row]
requests = {'requests': [{'appendCells': {'rows': [{'values': values}], 'fields': 'userEnteredFormat.backgroundColor,userEnteredValue', 'sheetId': sheetId}}]}
response = service.spreadsheets().batchUpdate(spreadsheetId=spreadsheet_id, body=requests).execute()
print(response)
spreadsheet_id = '###' # Please set Spreadsheet ID
sheetId = 0 # Please set sheet ID. For example, the 1st sheet ID of the default Spreadsheet is 0.
row = ['sample1', 'sample2', 'sample3'] # Please set the values.

ss = service.spreadsheets().get(spreadsheetId=spreadsheet_id).execute()
for sheet in ss['sheets']:
    if sheet['properties']['sheetId'] == sheetId:
        row.extend([''] * (sheet['properties']['gridProperties']['columnCount'] - len(row)))
        break
values = [{'userEnteredFormat': {'backgroundColor': {'red': 1, 'green': 0, 'blue': 100}}, 'userEnteredValue': {'stringValue': col}} for col in row]
requests = {'requests': [{'appendCells': {'rows': [{'values': values}], 'fields': 'userEnteredFormat.backgroundColor,userEnteredValue', 'sheetId': sheetId}}]}
response = service.spreadsheets().batchUpdate(spreadsheetId=spreadsheet_id, body=requests).execute()
print(response)