我有一个表格,它有4个数据..
现在我获得了$ _POST的数据。我希望使用他们的API把它放到Google Spreadsheet中。但是我太新手了解代码..
我只是将Google Client API放入codeigniter,但我不知道如何使用它。
我的代码看起来像这样..
$this->load->library('google');
$values = array(
array(
$this->input->post('name'),
$this->input->post('email'),
$this->input->post('reason'),
$this->input->post('mobile'),
date('Y-m-d')
)
);
$body = new Google_Service_Sheets_ValueRange(array(
'values' => $values
));
// $params = array(
// 'valueInputOption' => $valueInputOption
// );
$result = $this->google->spreadsheets_values->update("1gg8rHsKM3DhMaJVY-YexQyggAoq1pUCB5LpP5NFah8A", "Sheet1!A2:E2", $body, "");
我不知道这个参数的用途是什么,所以我把它留空......
我运行此代码并收到错误Message: Undefined property: Google::$spreadsheets_values
答案 0 :(得分:0)
你错过了一些事情,让我们一步一步走。
首先,您需要进行身份验证(似乎您已经完成了):
$client = $this->getClient();
$service = new Google_Service_Sheets($client);
指定您如何发送数据:
$valueInputOption = 'RAW';
创建数组(注意0表示第1列,1表示第2列,2表示第3列)。如果您想发送多行,请按照下面的示例进行操作,或者如果只需要一行,请执行[$i]
并执行$values = array(...);
:
$valuesb[$i] = array(
0 => "Value 1",
1 => "Value 2",
2 => "Value 3"
);
请注意,您需要指定电子表格范围和标签名称:
$data[] = new Google_Service_Sheets_ValueRange(
array(
'range' => '\'TAB NAME HERE\'!A2:AU10000',
'values' => $valuesb
)
);
然后最后发送数据
$requestBody = new Google_Service_Sheets_BatchUpdateValuesRequest();
$requestBody->setValueInputOption($valueInputOption);
$requestBody->setData($data);
$response = $service->spreadsheets_values->batchUpdate("Spreadsheet ID goes here", $requestBody);
打印回复:
echo "<pre>";
print_r($response);
echo "</pre>";