php – 当我尝试以编程方式将图表添加到Google电子表格时,api v4因网格ID而失败并显示Google_Service_Exception
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 当我尝试以编程方式将图表添加到Google电子表格时,api v4因网格ID而失败并显示Google_Service_Exception,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2061字,纯文字阅读大概需要3分钟。
内容图文
![php – 当我尝试以编程方式将图表添加到Google电子表格时,api v4因网格ID而失败并显示Google_Service_Exception](/upload/InfoBanner/zyjiaocheng/788/efc70678576142189b3f3f6c54f8bd5e.jpg)
我玩google sheet api v4,因为它看起来非常有趣,还可以渲染图表.我正在使用谷歌api客户端的PHP.
首先,我创建了一个包含两张纸的新电子表格,并在第一张纸上填写了数据.这按预期工作.
然后我想在第二张纸上根据第一张纸上的数据渲染图表.我想用饼图开始简单的方法因为你只有一个数据系列.
我总是得到以下错误消息:
“message”: “Invalid requests[0].addChart: No grid with id: 1”
我设置的唯一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,
"sheetId":0,
"startColumnIndex":0,
"startRowIndex":3
}
}
}
}
},
"position":{
"overlayPosition":{
"heightPixels":500,
"widthPixels":700,
"anchorCell":{
"columnIndex":0,
"rowIndex":0,
"sheetId":1
}
}
}
}
}
}
]
}
当我将它与示例进行比较时,我能找到的唯一一个涵盖添加图表,https://codelabs.developers.google.com/codelabs/sheets-api/#9,它看起来对我来说是正确的.
解决方法:
好的,我找到了解决方案.
我认为sheetId是工作表的索引,但它是一个工作表创建后的ID.
所以解决方案是获得正确的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所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。