<?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
}
?>
|