Ako pravimo PHP aplikaciju koji treba da čita (a i piše) iz neke Gugl tabele, evo postupka:
1. Google API Client
Treba nam Composer kako bismo instalirali Google API Client. Google API Client će nam olakšati rad sa autorizacijom i pristupom Gugl resursima. Za instalaciju je potrebno, u direktorijumu u kojem se nalazi naš projekat, kreirati sledeći composer.json fajl:
{ "require": { "google/apiclient": "^2.0" } }
i pokrenuti composer update. Nakon ovoga će nam se pojaviti vendor direktorijum sa svim potrebnim klasama plus autoload skriptom.
2. API Manager
Idemo na https://console.developers.google.com/apis/dashboard da kreiramo projekat. Nakon toga klik na Enable API i sa liste biramo Sheets API.
3. Credentials
Sledeći korak su kredencijali. Idemo na Credentials > Create credentials > Service account key. Biramo New service account, dajemo mu ime a kao ulogu (role) Project > Service Account Actor. Key type nam je JSON fajl koji ćemo da skinemo i spremimo negde na sigurno.
4. Permissions
Na kraju je potrebno da dodelimo dozvole za rad sa dokumentom korisniku čiji mejl se nalazi u JSON fajlu. Dozvola može da bude samo za čitanje ili i za čitanje i pisanje u zavisnosti od toga šta želimo da naša PHP aplikacija radi.
5. PHP
Primer u PHP-u za čitanje podataka iz dokumenta sa datim ajdijem, radnim listom 2017 i iz ranga ćelija A1:AH13:
<?php require __DIR__ . '/vendor/autoload.php'; $jsonFile = "auth.json"; $spreadsheetId = 'nbg9GnVy6bckblablatruć'; $range = '2017!A1:AH'; $client = new \Google_Client(); $client->setScopes([\Google_Service_Sheets::SPREADSHEETS]); $client->setAccessType('offline'); $fh = fopen($jsonFile, "r"); $client->setAuthConfig(json_decode(file_get_contents($jsonFile), true)); fclose($fh); $sheets = new \Google_Service_Sheets($client); $data = $sheets->spreadsheets_values->get($spreadsheetId, $range, ['majorDimension' => 'ROWS']); print_r($data); ?>
Izvor: www.phillipshipley.com