그리드 ID에 대한 Google_Service_Exception 실패합니다. PHP 용 Google API 클라이언트를 사용하고 있습니다.는 API를 V4는 또한 차트를 렌더링 할 수있는 능력을 가진 매우 흥미보기 때문에 나는 구글 시트 API를 V4와 함께 놀았
우선 두 장으로 된 새 스프레드 시트를 만들고 첫 번째 시트에 데이터를 채 웁니다. 이것은 예상대로 작동했습니다.
그런 다음 첫 번째 시트의 데이터를 기반으로 한 두 번째 시트의 차트를 렌더링하려고했습니다. 파이 차트를 사용하여 쉬운 방법을 시작하고 싶었는데 그 이유는 하나의 데이터 시리즈 만 있기 때문입니다.
나는 항상 다음과 같은 오류 메시지와 함께 결국 :
"메시지": "잘못된 요청 [0] .addChart : ID를 가진 그리드 : 1"
유일한 ID가 I 설정이 이미 만든 두 번째 시트의 차트 앵커 셀의 하나입니다
$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 그것은 또한 유형이 그리드, 그래서 여기에 어떤 문제가 있을지 모르겠다.
{
"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을 찾을 수있는, 그것은 나에게 올바른 같습니다
업데이트 여기 내 addChart 요청의 POST 본문입니다 .
, 당신은'newSheet을 사용할 수 있습니다 AddChartRequest''에서 EmbeddedObjectPosition). 당신이 기존 시트에 차트를 추가하려면 , 당신은 그 시트를 추가 할 때 시트의 ID를 지정하고 차트의 시트 ID에 대해 같은 ID를 사용해야합니다. –
감사합니다 샘! 잘 했어! – Kasihasi