PHP Classes

File: list_files_in_google_drive.php

Recommend this page to a friend!
  Classes of Manuel Lemos   PHP OAuth Library   list_files_in_google_drive.php   Download  
File: list_files_in_google_drive.php
Role: Example script
Content type: text/plain
Description: Google Drive API list files example script
Class: PHP OAuth Library
Authorize and access APIs using OAuth
Author: By
Last change:
Date: 2 months ago
Size: 2,682 bytes
 

Contents

Class file image Download
<?php
/*
 * list_files_in_google_drive.php
 *
 * @(#) $Id: list_files_in_google_drive.php,v 1.1 2024/03/19 10:16:34 mlemos Exp $
 *
 */

// Include the necessary class files directly or
// vendor/autoload.php if you used composer to
// install the package.

   
require('http.php');
    require(
'oauth_client.php');

   
$client = new oauth_client_class;
   
$client->server = 'Google';
   
$client->debug = false;
   
$client->debug_http = true;

   
$client->redirect_uri = 'https://'.$_SERVER['HTTP_HOST'].
       
dirname(strtok($_SERVER['REQUEST_URI'],'?')).
               
'/list_files_in_google_drive.php';

   
$client->client_id = ''; $application_line = __LINE__;
   
$client->client_secret = '';
       
    if(
strlen($client->client_id) == 0
   
|| strlen($client->client_secret) == 0)
        die(
'Please go to Google APIs console page '.
          
'https://console.cloud.google.com/apis/api/drive.googleapis.com/'.
          
' in the API access tab, create a new client ID,'.
          
' and in the line '.$application_line.
          
' set the client_id to Client ID'.
          
' and client_secret with Client Secret. '.
      
'The callback URL must be '.$client->redirect_uri.
          
' but make sure the domain is valid and'.
          
' can be resolved by a public DNS.');

   
/* API permissions
     */
   
$client->scope = 'https://www.googleapis.com/auth/drive';
    if((
$success = $client->Initialize()))
    {
        if((
$success = $client->Process()))
        {
            if(
strlen($client->authorization_error))
            {
               
$client->error = $client->authorization_error;
               
$success = false;
            }
            elseif(
strlen($client->access_token))
            {
               
$success = $client->CallAPI(
               
'https://www.googleapis.com/drive/v3/files',
               
'GET', array(), array('FailOnAccessError'=>true),
               
$files_list);
            }
        }
       
$success = $client->Finalize($success);
    }
    if(
$client->exit)
        exit;
    if(
$success)
    {
?>
<!DOCTYPE html>
<html>
<head>
<title>Google Drive API List Files PHP Example</title>
</head>
<body>
<h1>Google Drive API List Files<br>PHP Example</h1>
<table rules="all">
<?php
        $limit
= 10;
       
$exclude = array(
           
'^Interview',
           
'^LabControl',
           
'^Pitch',
           
'^ReuniĆ£o'
       
);
       
$list = 0;
        foreach(
$files_list->files as $f => $file)
        {
            if(
$list >= $limit)
                break;
            foreach(
$exclude as $match)
            {
                if(
preg_match('/'.$match.'/', $file->name))
                    continue
2;
            }
            echo
'<tr><td>'.
               
htmlspecialchars($file->name).
               
'</td></tr>',"\n";
           
$list++;
        }
?>
</table>
</body>
</html>
<?php
   
}
    else
    {
?>
<!DOCTYPE html>
<html>
<head>
<title>OAuth client error</title>
</head>
<body>
<h1>OAuth client error</h1>
<pre>Error: <?PHP
   
echo HtmlSpecialChars($client->error);
?></pre>
</body>
</html>
<?php
   
}

?>