如何在Google表格中找到现有图表的图表ID?

时间:2019-02-10 14:32:24

标签: google-sheets google-api google-sheets-api

如何查找已在Google表格中创建的图表的ChartID。

我已经搜索了文档,但无法正常工作。

2 个答案:

答案 0 :(得分:0)

不幸的是,没有直接搜索图表ID的方法。但是您可以使用Sheets API中的sheets.get方法检索电子表格中的所有图表ID。 The official document如下。

  

占位符chartId也用于指示给定图表的ID。您可以在使用API​​创建图表时设置此ID,也可以允许API为您生成一个ID。您可以使用sheetsheet.get方法读取现有图表的ID。

端点:

例如,为了仅检索图表ID,当使用fields中的sheets/charts/chartId时,端点如下。

GET https://sheets.googleapis.com/v4/spreadsheets/### spreadsheetId ###?fields=sheets%2Fcharts%2FchartId

结果:

当第一张纸和第二张纸分别具有2张图表和1张图表时,将返回以下结果。如果要搜索图表ID,可以从以下结果中进行搜索。

{
  "sheets": [
    {
      "charts": [
        {
          "chartId": ###
        },
        {
          "chartId": ###
        }
      ]
    },
    {
      "charts": [
        {
          "chartId": ###
        }
      ]
    }
  ]
}

参考文献:

如果我误解了你的问题,我表示歉意。

答案 1 :(得分:0)

这是在Ruby中执行的方法。

require 'google/apis/sheets_v4'
require 'googleauth'
require 'googleauth/stores/file_token_store'

sheet_name = 'Sheet1'

response = service.get_spreadsheet(SPREADSHEET_ID)

response.sheets.each do |sheet|
  title = sheet.properties.title
  if title = sheet_name
     unless sheet.charts.nil?
        charts = sheet.charts
        charts.each do |chart|
           chart_id = chart.chart_id
           puts chart_id
        end
     end
  end
end