HomeBlogGoogle Drive: Esempi di app PHP per utilizzare le API

Google Drive: Esempi di app PHP per utilizzare le API

Come visto nell' articolo precedente dove veniva spiegato come creare un app PHP per poter utilizzare Google Drive attraverso un API, in questo articolo andremo a vedere tre esempi di API diverse:

GOOGLE DRIVE

Andiamo ad inserire nel nostro file quickstart.php il seguente codice

// Get the API client and construct the service object. GOOGLE DRIVE
$client = getClient();
$service = new Google_Service_Drive($client);

// Print the names and IDs for up to 10 files.
$optParams = array(
  'pageSize' => 1000,
  'fields' => 'nextPageToken, files(id, name)'
);
$results = $service->files->listFiles($optParams);

if (count($results->getFiles()) == 0) {
  echo "No files found
"; } else { echo "Files
"; foreach ($results->getFiles() as $file) { echo "
".$file->getName()." - ". $file->getId()."
"; } } $fileId = '13RenJAq3jC4jK1lM_9H0oPZ9MnHC2Qt8Rf1M8-ej88Q'; $response = $service->files->export($fileId, 'application/pdf', array( 'alt' => 'media' )); $content = $response->getBody()->getContents(); file_put_contents ("output.pdf" , $content); $fileMetadata = new Google_Service_Drive_DriveFile(array( 'name' => 'output.pdf')); $content = file_get_contents('output.pdf'); $file = $service->files->create($fileMetadata, array( 'data' => $content, 'mimeType' => 'application/pdf', 'uploadType' => 'multipart', 'fields' => 'id')); echo "File ID: " . $file->id; echo"";

e il risultato ottenuto, andando ad aprire il file dal broswer, dovrebbe essere questo.


Drive

 

GOOGLE SPREADSHEET

Se vogliamo visualizzare un file Google Spreadsheet andiamo ad inserire questo codice

// Get the API client and construct the service object. GOOGLE SPREADSHEET
$client = getClient();
$service = new Google_Service_Sheets($client);

// Prints the names and majors of students in a sample spreadsheet:
// https://docs.google.com/spreadsheets/d/1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms/edit
$spreadsheetId = '1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms';
$range = 'Class Data!A1:F';
$response = $service->spreadsheets_values->get($spreadsheetId, $range);
$values = $response->getValues();

if (count($values) == 0) {
  print "No data found.\n";
} else {
  echo "

"; foreach ($values as $row) { echo ""; for ($i=0;$i<count($row);$i++) echo ""; echo ""; } }

".$row[$i]."

 

e come prima andando sul broswer otteremo questo risultato.

 

Spreadsheet

 

GOOGLE CALENDAR

Infine se vogliamo creare un evento su Google Calendar inseriamo il seguente codice

// Get the API client and construct the service object. GOOGLE CALENDAR
$client = getClient();
$service = new Google_Service_Calendar($client);

// Print the next 10 events on the user's calendar.
$calendarId = Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.';
$optParams = array(
  'maxResults' => 10,
  'orderBy' => 'startTime',
  'singleEvents' => TRUE,
  'timeMin' => date('c'),
);
$results = $service->events->listEvents($calendarId, $optParams);

if (count($results->getItems()) == 0) {
  print "No upcoming events found.\n";
} else {
  print "Upcoming events:
"; foreach ($results->getItems() as $event) { $start = $event->start->dateTime; if (empty($start)) { $start = $event->start->date; } $end = $event->end->dateTime; if (empty($end)) { $end = $event->end->date; } printf("%s, start(%s), end(%s)
", $event->getSummary(), $start, $end); } } $event = new Google_Service_Calendar_Event(array( 'summary' => 'Evento prova 1', 'description' => 'è un evento di prova.', 'start' => array( 'dateTime' => '2017-06-30T09:00:00+02:00', 'timeZone' => 'Europe/Rome', ), 'end' => array( 'dateTime' => '2017-06-30T17:00:00+02:00', 'timeZone' => 'Europe/Rome', ), )); $calendarId = Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.'; $event = $service->events->insert($calendarId, $event); printf('Event created: %s\n', $event->htmlLink);

e sempre come prima andiamo sul broswer e otteremo questo risultato.

 

Calendar