rationalboss / gsheet-manager
Google spreadsheet client
v0.1.7
2017-03-06 07:08 UTC
Requires
- google/apiclient: 1.*
This package is not auto-updated.
Last update: 2025-06-08 00:10:13 UTC
README
Google Spreadsheet Client for PHP. This requires "google/apiclient" package.
Get started
1. Get key file
- Log in Google Developper Console
- Create new project
- Create Service Account credentials in the project
- Download key file as JSON
2. Create spreadsheet
- Create a new spreadsheet in Google Drive
- Authorize the email address, which is found as "client_email" in key file, to read and edit.
- Save the file ID from address bar.
3. Access by PHP
$client = Google_Spreadsheet::getClient("the/path/to/credential.json"); // Get the file by file ID $file = $client->file("XXXxxxXXXXxxxXXXX"); // Get the sheet by title $sheet = $file->sheet("Sheet1"); // Flush all rows in the sheet var_dump($sheet->items);
Usage
Select rows
// Array $items = $sheet->select(array("id" => "1")); // Closure $items = $sheet->select(function($row){ return (int) $row["age"] < 30; });
Insert a new row
$sheet->insert(array( "name" => "John", "age" => 23, "email" => "john@example.com" ));
Update column's value
$sheet->update( 8, // row number "name", // field's name (or column number as Integer) "Tom" ); $sheet->update( array(8,16,24), // row numbers "name", "Tom" ); $sheet->update( array( "name" => "Tom" // condition to select ), "email", "tom@example.com" ); $sheet->update( function($row){ return (int) $row["age"] > 80; // condition to select as closure }, "active", "false" );
Get up-to-date table data
$items = $sheet->fetch(true)->items;
Save cache
$client->config(array( "cache" => true, "cache_dir" => "cache", "cache_expires" => 3600 ));
Requirement
- google/apiclient (Apache License v2.0)