Google Spreadsheet API和Codeigniter

时间:2017-03-13 10:06:56

标签: php codeigniter google-spreadsheet-api

我有一个表格,它有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

1 个答案:

答案 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>";