Ruby 条件格式获取 badRequest:无效请求[0]:未设置请求。 (Google::Apis::ClientError)

Ruby conditional formatting get badRequest: Invalid requests[0]: No request set. (Google::Apis::ClientError)

我正在尝试格式化 Google 表格。这是基于 Google API 文档 Ruby、条件格式和 Ruby 文档(非常差)的代码。

到目前为止,我没有找到任何关于如何使代码适应 Ruby 的完整文档。

航站楼returns:

`check_status': badRequest: Invalid requests[0]: No request set. (Google::Apis::ClientError)

你知道如何让这段代码工作吗?

requests.push({
      add_conditional_formats: {
        rule: {
          ranges: [
            {
              sheet_id: 0, start_column_index: 9, end_column_index: 100,
            }
          ],
          gradient_rule: {
            minpoint: {
              color: {
                green: 0.2,
                red: 0.8
              },
              type: "MIN"
            },
            maspoint: {
              color: {
                green: 0.9
              },
              type: "MAX"
            },
          }
        },
        index: 0
      },
      add_conditional_formats: {
        rule: {
          ranges: [
            {
              sheet_id: 0, start_column_index: 9, end_column_index: 100,
            }
          ],
          gradient_rule: {
            minpoint: {
              color: {
                green: 0.2,
                red: 0.8
              },
              type: "NUMBER",
              value: 0
            },
            maspoint: {
              color: {
                green: 0.9
              },
              type: "NUMBER",
              value: 256
            },
          }
        },
        index: 1
      }
    })

    body = {requests: requests}
    result = service.batch_update_spreadsheet(spreadsheet_id, body, {})

这个修改怎么样?此修改后的脚本假定您的访问令牌可用于更新电子表格。

修改点:

  • add_conditional_format_rule 是一个请求。因此,在您的情况下,requests 的数组必须是 2 个元素,因为您在请求中使用了 2 add_conditional_format_rule
  • maspointmaxpoint.
  • add_conditional_formatsadd_conditional_format_rule.
  • sheet_id 的值为字符串。
  • gradient_rulevalue 的值为字符串。

修改脚本:

requests = []
requests.push({
      add_conditional_format_rule: {
        rule: {
          ranges: [
            {
              sheet_id: "0", start_column_index: 9, end_column_index: 100,
            }
          ],
          gradient_rule: {
            minpoint: {
              color: {
                green: 0.2,
                red: 0.8
              },
              type: "MIN"
            },
            maxpoint: {
              color: {
                green: 0.9
              },
              type: "MAX"
            },
          }
        },
        index: 0
      }
    },{
      add_conditional_format_rule: {
        rule: {
          ranges: [
            {
              sheet_id: "0", start_column_index: 9, end_column_index: 100,
            }
          ],
          gradient_rule: {
            minpoint: {
              color: {
                green: 0.2,
                red: 0.8
              },
              type: "NUMBER",
              value: "0"
            },
            maxpoint: {
              color: {
                green: 0.9
              },
              type: "NUMBER",
              value: "256"
            },
          }
        },
        index: 1
      }
    })

body = {requests: requests}
result = service.batch_update_spreadsheet(spreadsheet_id, body, {})

参考:

如果这不是你想要的,我很抱歉。