Tutorial ini menjelaskan tentang cara membaca atau menampilkan isi file google spreadsheets yang ada di google drive dengan menggunakan php. Nanti outputnya adalah data json. Terlebihdahulu anda harus memiliki file spreadsheets di google drive anda kemudian bukalah file tersebut. Isilah beberapa isian data sebagai contoh dengan membuat tabel sederhana seperti ini:
Untuk mendapatkan link data dalam format csv anda pelu mempublikasikan dokumen ini dengan cara klik menu File -> Publikasi di web. Kemudian muncul jendela seperti berikut:
Pada gambar diatas anda bisa mendapatkan link tautan file anda. Copy link tsb lalu siapkan file php dengan kode seperti di bahwah ini:
<?php header('Content-type: application/json'); // Set your CSV feed $feed = 'https://docs.google.com/spreadsheets/d/1XHo4GWG3W4V4U5TjuZFy7ZLyp9djJGc93PGdjnEM0Mg/pub?gid=0&single=true&output=csv'; // Arrays we'll use later $keys = array(); $newArray = array(); // Function to convert CSV into associative array function csvToArray($file, $delimiter) { if (($handle = fopen($file, 'r')) !== FALSE) { $i = 0; while (($lineArray = fgetcsv($handle, 4000, $delimiter, '"')) !== FALSE) { for ($j = 0; $j < count($lineArray); $j++) { $arr[$i][$j] = $lineArray[$j]; } $i++; } fclose($handle); } return $arr; } // Do it $data = csvToArray($feed, ','); // Set number of elements (minus 1 because we shift off the first row) $count = count($data) - 1; //Use first row for names $labels = array_shift($data); foreach ($labels as $label) { $keys[] = $label; } // Add Ids, just in case we want them later $keys[] = 'id'; for ($i = 0; $i < $count; $i++) { $data[$i][] = $i; } // Bring it all together for ($j = 0; $j < $count; $j++) { $d = array_combine($keys, $data[$j]); $newArray[$j] = $d; } // Print it out as JSON echo json_encode($newArray); ?>
Pada kode php diatas anda tinggal ganti variabel $feed dengan link tautan file anda. Kemudian sialahkan anda jalankan dan lihat hasilnya seperti apa. Hasilnya kira-kira seperti ini: