Google Spreadsheetの読み込み
Google Spreadsheetを読み込み、画面にテーブルで表示
Spreadsheet
A | B | C | |
---|---|---|---|
1 | 1 | Apple | リンゴ |
2 | 2 | Banana | バナナ |
(略) | |||
7 | 7 | Tennis | テニス |
8 | 8 | Basketball | バスケットボール |
PHP
require_once 'Zend/Gdata/ClientLogin.php';
require_once 'Zend/Gdata/Spreadsheets.php';
// アカウント情報を設定
$user = 'xxxxxxxxxx@gmail.com';
$pass = 'xxxxxxxxxxxxxxxx';
// 認証
$service = Zend_Gdata_Spreadsheets::AUTH_SERVICE_NAME;
$client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);
$spreadsheetService = new Zend_Gdata_Spreadsheets($client);
// スプレッドシートの情報を設定
// https://docs.google.com/spreadsheet/ccc?key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&usp=drive_web#gid=0
// key
$spreadsheetKey = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
// gid 0シート(1番目のシート)
$worksheetId = 1;
// スプレッドシート(セルベース)の情報を取得
$query = new Zend_Gdata_Spreadsheets_CellQuery();
$query->setSpreadsheetKey($spreadsheetKey);
$query->setWorksheetId($worksheetId);
$cellFeed = $spreadsheetService->getCellFeed($query);
if (! empty($cellFeed)) {
foreach($cellFeed as $cellEntry) {
$linesKey = $cellEntry->cell->getRow();
$cellKey = $cellEntry->cell->getColumn();
$data[$linesKey][$cellKey] = $cellEntry->cell->getText();
}
if (! empty($data)) {
$this->view->assign('data', $data);
}
}
Smarty
<table>
{foreach $data as $row}
<tr>
{foreach $row as $cell}
<td>{$cell|escape}</td>
{/foreach}
</tr>
{/foreach}
</table>
2015年5月よりClientLoginでの認証が不可となり、取得に失敗します。