변수를 대충 사용하긴 했지만, 정리하는데는 문제 없다(?)
시트 업데이트 / 마지막에 새로운 행으로 삽입 / 동적 영역 할당 후 대체를 수행하는 코드이다.
마지막에 새로운 행으로 삽입하는 영역은 시트명만 있으면 배열 크기에 따라 자동으로 입려되므로, 컬럼 크기에 따라 A노테이션으로 영역을 지정할 필요가 없다.
// 요청을 받아 저장
$data = json_decode(file_get_contents('php://input'), true);
// 받은 요청에서 content 항목 설정
$content = $data["content"];
$user_key = $data["user_key"];//사용자 키를 확인 - 아래는 사용자 키를 확인해 그 사용자의 count(입력수)를 늘리는 예제이다.
$spreadsheetId = '시트ID';
$range = '_시트명_!A1:D3';
$r1 = '_시트명_!A2:C2';
$status = '시트명';
$dt = date("Y. m. d h:i:s",time());
$key="대문자예시";
$values = [[$dt,$user_key,strtolower($key)]];
$options = array('valueInputOption' => 'RAW');
$body = new Google_Service_Sheets_ValueRange(['values' => $values]);
$res1 = $service->spreadsheets_values->update($spreadsheetId, $r1, $body, $options);//second row replace
$valueRange = new Google_Service_Sheets_ValueRange();
$valueRange->setValues([[$dt, $content, $user_key]]);
$conf = ["valueInputOption" => "USER_ENTERED"];
$service->spreadsheets_values->append($spreadsheetId, $r1, $valueRange, $conf);//new row adding
동적 시트 영역 지정
$response = $service->spreadsheets_values->get($spreadsheetId, $range);
$values = $response->getValues();
$dr = '_status_!C' . $values[2][3] . ':D' . $values[2][3];//dynamic user key position
$resd = $service->spreadsheets_values->get($spreadsheetId, $dr);
$vd = $resd->getValues();
$newval=[[$vd[0][0]+0,$vd[0][1]+1]];
$body = new Google_Service_Sheets_ValueRange(['values' => $newval]);
$res2 = $service->spreadsheets_values->update($spreadsheetId, $dr, $body, $options);//status, count update
댓글 달기