Dans ce tutoriel, vous apprendrez à Télécharger des fichiers dans Google Drive en utilisant Langage PHP et API Google Drive sans utiliser aucun Bibliothèque PHP. L’objectif principal de ce tutoriel est de fournir Étudiants en informatique/informatique et nouveaux programmeurs avec une référence pour apprendre à intégrer API Google dans PHP. Ici, un tutoriel étape par étape pour configurer un projet dans Google Cloud Console est fourni avec des extraits pour atteindre cet objectif du didacticiel. Un exemple de code source qui démontre l’intégration de ladite plate-forme et de ladite langue est fourni et peut être téléchargé gratuitement.
Qu’est-ce que l’API Google Drive ?
Le API Google Drive vous aide à développer des applications qui utilisent le stockage cloud Google Drive. Vous pouvez utiliser l’API Drive pour créer des applications qui s’interfacent avec Drive et disposent de fonctionnalités avancées.
Comment télécharger des fichiers dans Google Drive en utilisant PHP ?
Étant donné que ce didacticiel nous apprendra à télécharger des fichiers dans Google Drive en utilisant PHP sans aucune bibliothèque PHP, nous pouvons utiliser les méthodes cURL intégrées de PHP pour exécuter Requêtes HTTP pour télécharger des fichiers. en utilisant le ID client et clé secrète des API Google Drive oAuthla plateforme permettra à notre application PHP de gérer les fichiers des utilisateurs connectés.
Étapes pour mettre en œuvre les téléchargements de fichiers dans Google Drive à l’aide de PHP ?
- Créer un nouveau projet dans Google Cloud Console
- Permettre API Google Drive pour votre projet créé.
- Créé un ID client OAuth
- Créé un Écran de consentement OAuth
- Implémentez l’authentification Google dans votre application Web pour générer un jeton d’accès
- Créez le script de téléchargement à l’aide de PHP à l’aide des URI et des formats de demande fournis par l’API.
Configuration de Google Cloud Console.
Aller à Google Cloud Console.
Création d’un projet
Étape 1:
Sur le Google Cloud Console page d’accueil, cliquez sur le menu déroulant du projet situé à gauche du champ de recherche. Ensuite, une fenêtre contextuelle modale s’affichera, et cliquez sur le Nouveau projet bouton/ancre situé en haut à droite du modal.
Étape 2:
Ensuite, il faut remplir tous les champs obligatoires pour créer un nouveau projet dans Google Cloud Console. Découvrez les images ci-dessous.
Configuration de l’API Google Drive
Étape 1:
Après la création réussie du projet, sélectionnez le projet que vous avez créé et accédez à la page du tableau de bord du projet.
Étape 2:
Ensuite, recherchez le API Google Drive dans le champ de recherche. Ensuite, accédez à la page de l’API pour l’activer.
Configuration de l’écran de consentement OAuth de l’API Google Drive
Étape 1:
Sélectionnez le API et services dans la barre de menus.
Étape 2:
Ensuite, naviguez sur la page pour Écran de consentement OAuth.
Étape 3:
Ensuite, remplissez tous les champs obligatoires comme les images ci-dessous.
Configuration des informations d’identification de l’API Google Drive
Étape 1:
Naviguez sur votre page jusqu’à Page des informations d’identification
Étape 2:
Ensuite, cliquez sur le Créer des identifiants et choisissez ID client OAuth
Étape 3:
Ensuite, remplissez tous les champs obligatoires du formulaire comme l’image ci-dessous.
Étape 4:
Copiez et enregistrez le fichier généré identité du client et Clef secrète pour une utilisation ultérieure.
Commençons par la partie codage
Dans votre répertoire de code source, créez un nouveau fichier nommé config.php. C’est un Fichier PHP qui contient les constantes nécessaires à l’application simple que nous allons créer. Assurez-vous de changer GCLIENT_ID et GCLIENT_SECRET constantes définies avec celles générées à partir de la création de votre ID client OAuth.
<?php
// Define Google Client Credentials, Scopes, and URIs
// Authentication URL
$_SESSION['code'] = $_GET['code'];
require_once("GoogleDriveUploadAPI.php");
$gdriveAPI = new GoogleDriveUploadAPI();
// Save Access Token
$_SESSION['access_token'] = $gdriveAPI->GetAccessToken()['access_token'];
}
// if(!isset($_SESSION['code']))
// header("location:{$gOauthURL}");
Ensuite, créons le Classe PHP fichier contenant le script permettant d’obtenir un jeton d’accès, de télécharger le fichier sur Google Drive et de mettre à jour la méta du fichier. Enregistrez ce fichier sous GoogleDriveUploadAPI.php
<?php
class GoogleDriveUploadAPI{
function __construct(){
}
public function GetAccessToken() {
$curlPost = 'client_id='.GCLIENT_ID.'&redirect_uri=' .GCLIENT_REDIRECT. '&client_secret=" . GCLIENT_SECRET . "&code=". $_SESSION["code'] . '&grant_type=authorization_code';
if ($http_code != 200) {
$error_msg = 'Failed to receieve access token';
}
throw new Exception('Error '.$http_code.': '.$error_msg);
}
return $data;
}
public function toDrive($FileContents, $MimeType) {
$API_URL = DRIVE_FILE_UPLOAD_URI . '?uploadType=media';
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: '.$MimeType, 'Authorization: Bearer '. $_SESSION['access_token']));
if ($http_code != 200) {
$error_msg = 'Failed to upload file to Google Drive';
}
throw new Exception('Error '.$http_code.': '.$error_msg);
}
return $data['id'];
}
public function FileMeta($FileID, $FileMetaData) {
$API_URL = DRIVE_FILE_META_URI . $FileID;
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Authorization: Bearer '. $_SESSION['access_token']));
if ($http_code != 200) {
$error_msg = 'Failed to update file metadata';
}
throw new Exception('Error '.$http_code.': '.$error_msg);
}
return $data;
}
}
Ensuite, nous allons créer le script pour l’interface de l’application. Le script ci-dessous est une combinaison PHP et HTML script contenant les éléments du formulaire de téléchargement et du bouton de connexion Google. Enregistrez ce fichier sous index.php
<?php
require_once('config.php');
?>
<!DOCTYPE html>
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href=" integrity="sha512-xh6O/CkQoPOWDdYTDqeRdPCVd1SpvCA9XXcUnZS2FmJNp1coAFzvtCN9BmamE+4aHK8yyUHUSCcJHgXloTyT2A==" crossorigin="anonymous" referrerpolicy="no-referrer" /> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi" crossorigin="anonymous"> <link rel="stylesheet" href="assets/css/styles.css">
<main>
<nav class="navbar navbar-expand-lg navbar-dark bg-gradient">
<div class="container px-5 my-3" >start_loader()
<div class="mx-auto col-lg-10 col-md-12 col-sm-12 col-xs-12"><?php if(isset($_SESSION['access_token']) && !empty($_SESSION['access_token'])): ?>
<div class="card rounded-0 shadow"> <div class="card-header rounded-0"> <div class="card-body rounded-0"> <div class="container-fluid"> <form id="upload-form" action="upload.php" method="POST" enctype="multipart/form-data"> <input class="form-control" type="file" name="file" id="file" accept=".tar,.gz,.zip" required> <div class="card-footer rounded-0"><?php else: ?>
<div class="col-lg-3 col-md-5 col-sm-10 col-xs-12 mx-auto"><?php endif; ?>
<footer class="bg-gradient bg-light shadow-top py-4 col-auto"> <div class="text-center"> <div class="text-center"></main>
Ensuite, créez le Script PHP pour télécharger le fichier sélectionné. Dans le script ci-dessous, vous pouvez voir que le fichier sera temporairement téléchargé sur le serveur à la actifs/intérim répertoires et seront supprimés après le téléchargement réussi/échoué sur Google Drive. Assurez-vous donc que ledit répertoire existe également dans votre dossier de code source. Enregistrez le fichier ci-dessous sous télécharger.php.
<?php
require_once("config.php");
require_once("GoogleDriveUploadAPI.php");
$gdriveAPI = new GoogleDriveUploadAPI();
$fname = $_FILES['file']['name'];
// temporarily save the file
if($upload){
$access_token = $_SESSION['access_token'];
$error="";
// identify the file mime type
// get the file contents
// Upload File to Google Drive
$gDriveFID = $gdriveAPI->toDrive($FileContents, $mimeType);
if($gDriveFID){
// Rename Uploaded file
$meta = [ "name" => $_FILES['file']['name'] ];
// Update Meta Revision
$gDriveMeta = $gdriveAPI->FileMeta($gDriveFID, $meta);
if($gDriveMeta){
echo "<script> alert('File has been uploaded.');location.replace('./'); </script>";
}else{
$error = "Fail to Update the File Meta in Google Drive.";
}
}else{
$error = "File Uploading failed in Google Drive.";
}
}else{
$error = "File Uploading failed in Google Drive due to invalid access token.";
}
echo "<script> alert('File has failed to upload in Google Drive. Error: '.$error);location.replace('./'); </script>";
}else{
throw new ErrorException("File has failed to upload due to unknown reason.");
}
}else{
throw new ErrorException("No Files has been sent.");
}
?>
Enfin, créez le script de déconnexion de l’application pour permettre à l’utilisateur de se déconnecter de son compte Google depuis l’application. Enregistrez le fichier ci-dessous sous logout.php.
<?php
foreach($_SESSION as $k => $v){
}
Instantané
Voici l’instantané de l’interface de l’application que j’ai fournie ci-dessus.
C’est ça! Vous pouvez maintenant tester l’exemple d’application de votre côté et voir s’il fonctionne correctement. Veuillez vous assurer que vous n’utilisez que les comptes Google répertoriés sur OAuth Consent Screen Test Users.
J’ai également fourni le code source fichier zip que j’ai créé pour ce tutoriel qui est téléchargeable gratuitement. Vous pouvez le télécharger en cliquant sur le Bouton de téléchargement situé après le contenu de cet article.
C’est la fin de ce tutoriel. J’espère Cela Télécharger un fichier dans Google Drive à l’aide de PHP et du didacticiel de l’API Google Drive vous aidera avec ce que vous recherchez et sera utile pour vos projets PHP actuels et futurs.
Explorez plus sur ce site Web pour plus Tutoriels et Codes sources gratuits.