脚本宝典收集整理的这篇文章主要介绍了php – 当我尝试以编程方式将图表添加到Google电子表格时,api v4因网格ID而失败并显示Google_Service_Exception,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
首先,我创建了一个包含两张纸的新电子表格,并在第一张纸上填写了数据.这按预期工作.
然后我想在第二张纸上根据第一张纸上的数据渲染图表.我想用饼图开始简单的方法因为你只有一个数据系列.
我总是得到以下错误消息:
我设置的唯一ID是我已经创建的第二张表的图表锚单元格:
$googleSheetsSheetGrIDCoordinate = new Google_Service_Sheets_GridCoordinate(); $googleSheetsSheetGridCoordinate->setSheetId(1); $googleSheetsSheetGridCoordinate->setColumnIndex(0); $googleSheetsSheetGridCoordinate->setRowIndex(0); $googleSheetsSheetOverlayPosITion = new Google_Service_Sheets_OverlayPosition(); $googleSheetsSheetOverlayPosition->setAnchorCell($googleSheetsSheetGridCoordinate); $googleSheetsSheetOverlayPosition->setHeightPixels(500); $googleSheetsSheetOverlayPosition->setWidthPixels(700);
看一下电子表格,有一张id为1的表格,它也有类型网格,所以我不知道这里可能出现什么问题.
更新这里是我的addChart请求的帖子正文:
{ "requests":[ { "addChart":{ "chart":{ "sPEc":{ "title":"Pie Chart","pieChart":{ "legendPosition":"BOTTOM_LEGEND","domain":{ "sourceRange":{ "sources":[ { "endRowIndex":3,"sheetId":0,"startColumnIndex":0,"startRowIndex":2 } ] } },"series":{ "sourceRange":{ "sources":{ "endRowIndex":4,"startRowIndex":3 } } } } },"position":{ "overlayPosition":{ "heightPixels":500,"widthPixels":700,"anchorCell":{ "columnIndex":0,"rowIndex":0,"sheetId":1 } } } } } } ] }
当我将它与示例进行比较时,我能找到的唯一一个涵盖添加图表,https://codelabs.developers.google.com/codelabs/sheets-api/#9,它看起来对我来说是正确的.
所以解决方案是获得正确的ID:
$sourceId = $googleSheetsSPReadsheet->getSheets()[0]->getProperties()->getSheetId(); $targetId = $googleSheetsSpreadsheet->getSheets()[1]->getProperties()->getSheetId();
当您上传电子表格时会生成这些ID,因此,现在还不可能在一个创建请求中创建包含其图表的工作表,但您必须先创建所需的工作表,然后才能在另一个请求中添加图表.
以上是脚本宝典为你收集整理的php – 当我尝试以编程方式将图表添加到Google电子表格时,api v4因网格ID而失败并显示Google_Service_Exception全部内容,希望文章能够帮你解决php – 当我尝试以编程方式将图表添加到Google电子表格时,api v4因网格ID而失败并显示Google_Service_Exception所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。