Google Drive prend-il en charge PHP
Télécharger le fichier sur Google Drive à l’aide de PHP
Résumé:
Google Drive est un service de stockage cloud qui permet aux utilisateurs de stocker et de partager des fichiers. Dans cet article, nous discuterons de la façon de télécharger des fichiers sur Google Drive à l’aide de PHP. Nous couvrirons les étapes impliquées dans la création d’un script PHP pour télécharger des fichiers sur Google Drive et expliquer le processus en détail. L’article fournira également des instructions sur la façon de créer un projet Google et d’activer l’API Drive, ainsi que sur la façon de créer une table de base de données pour stocker les informations de fichier.
Points clés:
1. Installation de la bibliothèque client PHP: Avant de commencer, vous devrez installer la bibliothèque client PHP pour Google Drive. Les instructions pour l’installation peuvent être trouvées sur la bibliothèque client de la clientèle Google API PHP.
2. Google Drive prend-il en charge PHP?: Oui, Google Drive prend en charge PHP. Il fournit un service API REST qui vous permet de télécharger et de gérer les fichiers programmaticants sur Google Drive à l’aide de PHP.
3. Téléchargement de fichiers sur Google Drive: Pour télécharger des fichiers sur Google Drive à l’aide de PHP, vous devrez créer un formulaire HTML pour sélectionner le fichier à télécharger. Le fichier sera téléchargé sur le serveur local et ses informations seront insérées dans la base de données. L’utilisateur devra alors s’authentifier avec son compte Google, et le fichier sera téléchargé sur Google Drive à partir du script PHP. L’état de téléchargement de fichiers sera affiché, ainsi qu’un lien pour afficher le fichier sur Google Drive.
4. Création d’un projet Google et activation de l’API Drive: Pour passer des appels API à Google Drive, vous aurez besoin de clés d’API. Vous pouvez obtenir ces clés en créant un projet Google et en activant l’API Drive. Des instructions sur la façon de créer un projet Google et d’activer l’API Drive sont fournies dans l’article.
5. Création d’une table de base de données: Afin de stocker des informations sur les fichiers sur le serveur local, vous devrez créer une table de base de données. L’article comprend des instructions sur la façon de créer le tableau nécessaire.
Des questions:
1. Comment installer la bibliothèque client PHP pour Google Drive?
Pour installer la bibliothèque client PHP pour Google Drive, vous pouvez suivre les instructions fournies dans la bibliothèque client PHP de Google API Readme. Assurez-vous de vérifier la version la plus récente de la bibliothèque du référentiel PHP Packages.
2. Puis-je utiliser PHP pour télécharger des fichiers sur Google Drive?
Oui, Google Drive prend en charge PHP. Vous pouvez utiliser PHP pour télécharger programmatiques des fichiers sur Google Drive en utilisant l’API Drive.
3. Quelles sont les étapes impliquées dans le téléchargement de fichiers sur Google Drive à l’aide de PHP?
Les étapes impliquées dans le téléchargement de fichiers sur Google Drive à l’aide de PHP sont les suivantes:
- Créez un formulaire HTML pour sélectionner le fichier à télécharger.
- Téléchargez le fichier sur le serveur local et insérez ses informations dans la base de données.
- Authentifier l’utilisateur avec son compte Google.
- Téléchargez le fichier sur Google Drive à partir du script PHP.
- Affichez l’état de téléchargement de fichiers et fournissez un lien pour afficher le fichier sur Google Drive.
4. Comment créer un projet Google et activer l’API Drive?
Pour créer un projet Google et activer l’API Drive, vous pouvez suivre ces étapes:
- Aller à la console Google API.
- Sélectionnez un projet existant ou créez un nouveau.
- Dans la barre latérale, sélectionnez “Library” dans la section “API & Services”.
- Recherchez l’API Google Drive et activez-le.
- Entrez les détails de votre application et spécifiez les domaines autorisés.
- Sélectionnez le type d’application comme “application Web” et fournissez la redirection autorisée URI.
- Notez l’ID client et le secret du client pour une utilisation ultérieure.
5. Dois-je créer une table de base de données pour télécharger des fichiers sur Google Drive à l’aide de PHP?
Oui, vous devrez créer une table de base de données pour stocker des informations sur le fichier sur le serveur local. Ce tableau sera utilisé pour insérer les informations du fichier avant de les télécharger sur Google Drive.
6. Comment puis-je afficher le fichier téléchargé sur Google Drive à l’aide de PHP?
Après avoir téléchargé le fichier sur Google Drive à l’aide de PHP, vous pouvez fournir un lien pour afficher le fichier sur Google Drive. Le lien peut être généré à l’aide de l’identifiant unique du fichier fourni par l’API Drive.
7. Puis-je télécharger plusieurs fichiers sur Google Drive à l’aide de PHP?
Oui, vous pouvez télécharger plusieurs fichiers sur Google Drive à l’aide de PHP. Vous pouvez modifier le script PHP pour gérer plusieurs téléchargements de fichiers et les télécharger sur Google Drive un par un.
8. Y a-t-il une limite de taille de fichier pour télécharger des fichiers sur Google Drive à l’aide de PHP?
Google Drive a une limite de taille de fichier de 5 To pour les fichiers individuels. Cependant, certaines restrictions peuvent s’appliquer en fonction de votre plan de stockage Google Drive. Assurez-vous de vérifier la limite de stockage de votre compte Google Drive.
9. Comment puis-je gérer les erreurs de téléchargement de fichiers lors du téléchargement de fichiers sur Google Drive à l’aide de PHP?
Pour gérer les erreurs de téléchargement de fichiers lors du téléchargement de fichiers sur Google Drive à l’aide de PHP, vous pouvez implémenter des mécanismes de traitement des erreurs dans votre script PHP. Vous pouvez vérifier les erreurs courantes telles que la limite de taille du fichier dépasse, le format de fichier non valide ou l’espace de stockage insuffisant sur Google Drive.
dix. Puis-je supprimer des fichiers de Google Drive à l’aide de PHP?
Oui, vous pouvez supprimer des fichiers de Google Drive à l’aide de PHP. L’API Drive fournit des méthodes pour supprimer les fichiers de Google Drive par programmation. Vous pouvez utiliser ces méthodes dans votre script PHP pour supprimer des fichiers en fonction de vos exigences.
Télécharger le fichier sur Google Drive à l’aide de PHP
Vous devrez installer la bibliothèque client PHP qui peut être effectuée à l’aide du compositeur. Les instructions pour cela peuvent être trouvées sur la bibliothèque client de la clientèle Google API PHP. Je recommande de vérifier le numéro de version le plus récent sur le référentiel PHP Packages
Google Drive prend-il en charge PHP
О этой срранице
Ыы зарегистрtures. С помощюю ээой страницы ыы сжжем оределить, что заES’t. П’t?
Эта странdent к Te. Странdent. До ээого момента для исоллash.
Источником заves просов может слжжж Вve ыыы заES’t. Еслèe Вы ис démar. Обратитесь к своему ситемному адмииииии. Подробнее.
Проверка по слову может также появляться, ели Вы Вводите сложные заы, оычно рссзevretic емами, или же Вводите заES’t.
Télécharger le fichier sur Google Drive à l’aide de PHP
Google Drive est un moteur de stockage cloud qui permet aux utilisateurs de stocker et de partager efficacement les fichiers. Les fichiers sont synchronisés sur tous les appareils et sont accessibles de n’importe où. Google Drive facilite la gestion des documents sans aucun stockage personnel. Vous pouvez également gérer des fichiers et des dossiers dans Google Drive à distance à l’aide de l’API Drive.
Le API Drive Permet de gérer les fichiers et les dossiers stockés sur Google Drive. Vous pouvez télécharger et gérer des fichiers à partir du site Web à l’aide de l’API Google Drive. Si l’application Web doit permettre aux utilisateurs d’accéder ou de gérer les fichiers Google Drive, Drive API fournit un moyen simple de télécharger des fichiers sur Google Drive par programme avec le service API REST. Ce tutoriel explique comment Télécharger le fichier sur Google Drive à l’aide de PHP.
Dans cet exemple de script PHP, le processus suivant sera implémenté pour Télécharger des fichiers sur Google Drive avec php.
- Créez un formulaire HTML pour sélectionner le fichier à télécharger.
- Télécharger le fichier sur le serveur local et insérer les informations de fichier dans la base de données.
- Authentifier l’utilisateur avec le compte Google.
- Télécharger le fichier sur Google Drive à partir du script PHP.
- Afficher l’état de téléchargement de fichiers avec un lien pour afficher le fichier sur Google Drive.
Avant de commencer à créer un script PHP pour Télécharger le fichier sur Google Drive À l’aide de PHP, jetez un œil à la structure des fichiers.
google_drive_file_upload_with_php/ / ├fiques-configuration.php ├fiques.index PHP ├fique.php ├fique.php ├fique.php ├fique.classe.php └fique/ / Style.CSS
Créer Google Project et Activer API Drive
Google Project est nécessaire pour obtenir les clés d’API qui seront utilisées pour passer des appels API à Google Drive. Si vous avez déjà une application Google existante, les clés d’API peuvent être utilisées à partir de celui-ci. Assurez-vous simplement que l’API Google Drive est activé dans ce projet Google existant. Si tu ne fais pas’T Toutes les applications Google, suivez les étapes ci-dessous pour enregistrer votre application sur Google Developers Console et obtenir les clés de l’API.
- Aller à la console Google API.
- Sélectionnez un projet existant dans la liste des projets ou cliquez NOUVEAU PROJET Pour créer un nouveau projet:
- Tapez le nom du projet.
- L’ID du projet sera créé automatiquement dans le champ Nom du projet. (Facultatif) Vous pouvez modifier cet ID de projet par le Modifier lien, mais il devrait être unique dans le monde entier.
- Clique le CRÉER bouton.
- Dans la barre latérale, sélectionnez Bibliothèque sous le API et services section.
- Recherchez le service API Google Drive dans la liste des API et sélectionnez API Google Drive.
- Clique le ACTIVER bouton pour rendre la bibliothèque de l’API Google Drive disponible.
- Entrez le nom de l’application.
- Choisissez un e-mail d’assistance.
- Spécifie le Domaines autorisés qui sera autorisé à s’authentifier en utilisant OAuth.
- Clique le Sauvegarder bouton.
- Dans le Type d’application Section, sélectionnez application Web.
- Dans le URIS redirigé autorisé champ, spécifiez l’URL de redirection.
- Clique le Créer bouton.
Une boîte de dialogue apparaîtra avec les détails du client OAuth, notez l’ID client et le secret du client pour une utilisation ultérieure dans le script. Cet ID client et le secret du client vous permettent d’accéder à l’API Google Drive.
Notez que: le identité du client et Secret client besoin d’être spécifié au moment de l’appel de l’API Google Drive. De plus, l’uris de redirection autorisé doit être adapté à l’URL de redirection spécifiée dans le script.
Créer un tableau de base de données
Un tableau est requis dans la base de données pour stocker les informations sur le fichier sur le serveur local. Le SQL suivant crée une table Drive_Files avec quelques champs de base dans la base de données MySQL.
CRÉER TABLEAU `Drive_Files` ( `id` int(11) PAS NUL INCRÉMENTATION AUTOMATIQUE, `file_name` varchar(255) COLLATIONNER UTF8_UNICODE_CI DÉFAUT NUL, `google_drive_file_id` varchar(255) COLLATIONNER UTF8_UNICODE_CI DÉFAUT NUL, «Créé» DateTime PAS NUL DÉFAUT current_timestamp(), PRIMAIRE CLÉ (`id`)) MOTEUR=Innodb DÉFAUT Charbon= UTF8 COLLATIONNER= utf8_unicode_ci;
Bibliothèque PHP de l’API Google Drive
Google fournit une bibliothèque client PHP pour passer des appels API à lecteur, mais il contient de nombreux services supplémentaires qui sont livrés avec un grand nombre de fichiers et sont de grande taille. Pour faciliter le processus, nous créerons une bibliothèque personnalisée pour gérer les appels de l’API Google Drive avec PHP.
Notre Bibliothèque Google API Aide à s’authentifier avec Google le compte et à accéder à l’API Drive avec l’API REST à l’aide de PHP Curl. Cette bibliothèque PHP personnalisée utilisera API Google Drive V3 Pour gérer le processus de téléchargement de fichiers.
- GetAccessToken () – Reprochez le jeton d’accès à partir de l’API Google Oauth 2 à l’aide du code d’authentification.
- UploadFileTodrive () – Envoyer un fichier à Google Drive pour le téléchargement à l’aide de l’API REST.
- UpdateFileMeta () – Mettre à jour les métadonnées du fichier téléchargé dans Google Drive.
/ **
*
* Cette classe Google Drive API Handler est une bibliothèque PHP personnalisée pour gérer les appels API Google Drive.
*
* @class googledriveapi
* @author Codexworld
* @link http: // www.Codexworld.com
* @version 1.0
* /
classe Googledriveapi <
const Oauth2_token_uri = 'https: // oauth2.googleapis.com / jeton ';
const Drive_file_upload_uri = 'https: // www.googleapis.com / upload / drive / v3 / fichiers ';
const Drive_file_meta_uri = 'https: // www.googleapis.com / drive / v3 / files / ';
fonction __construction($ params = array ()) <
si (compter($ params)> 0) <
$ ceci->initialiser($ params));
>
>
fonction initialiser($ params = array ()) <
si (compter($ params)> 0) <
pour chaque ($ params comme $ clé => $ Val) <
if (isset ($ ceci->$ clé)) <
$ ceci->$ clé = $ Val;
>
>
>
>
fonction publique Getaccesstoken($ client_id, $ redirect_uri, $ client_secret, $ code) <
$ curlpost = 'client_id =' . $ client_id . '& redirect_uri =' . $ redirect_uri . '& client_secret =' . $ client_secret . '& code ='. $ code . '& Grant_Type = Authorization_code';
$ ch = curl_init();
curl_setopt($ ch, Curlopt_url, soi::Oauth2_token_uri));
curl_setopt($ ch, Curlopt_returntransfer, 1));
curl_setopt($ ch, Curlopt_post, 1));
curl_setopt($ ch, Curlopt_ssl_verifypeer, FAUX));
curl_setopt($ ch, Curlopt_postfields, $ curlpost));
$ data = JSON_DECODE(curl_exec($ ch), vrai));
$ http_code = curl_getinfo($ ch,Curlinfo_http_code));
si ($ http_code != 200) <
$ error_msg = 'Impossible de recevoir un jeton d'accès';
si (curl_errno($ ch)) <
$ error_msg = curl_error($ ch));
>
lancer un nouveau Exception('Erreur '.$ http_code.':'.$ error_msg));
>
retour $ data;
>
fonction publique Uploadfiletodrive($ Access_token, $ file_content, $ mime_type) <
$ apiurl = soi::Drive_file_upload_uri . '?uploadType = Media ';
$ ch = curl_init();
curl_setopt($ ch, Curlopt_url, $ apiurl));
curl_setopt($ ch, Curlopt_returntransfer, 1));
curl_setopt($ ch, Curlopt_post, 1));
curl_setopt($ ch, Curlopt_ssl_verifypeer, FAUX));
curl_setopt($ ch, Curlopt_httpheader, déployer('Type de contenu:'.$ mime_type, «Autorisation: porteur». $ Access_token));
curl_setopt($ ch, Curlopt_postfields, $ file_content));
$ data = JSON_DECODE(curl_exec($ ch), vrai));
$ http_code = curl_getinfo($ ch,Curlinfo_http_code));
si ($ http_code != 200) <
$ error_msg = 'Impossible de télécharger le fichier sur Google Drive';
si (curl_errno($ ch)) <
$ error_msg = curl_error($ ch));
>
lancer un nouveau Exception('Erreur '.$ http_code.':'.$ error_msg));
>
retour $ data['identifiant']]
>
fonction publique Mise à jour($ Access_token, $ file_id, $ file_meatadata) <
$ apiurl = soi::Drive_file_meta_uri . $ file_id;
$ ch = curl_init();
curl_setopt($ ch, Curlopt_url, $ apiurl));
curl_setopt($ ch, Curlopt_returntransfer, 1));
curl_setopt($ ch, Curlopt_post, 1));
curl_setopt($ ch, Curlopt_ssl_verifypeer, FAUX));
curl _setopt($ ch, Curlopt_httpheader, déployer(«Type de contenu: application / json», «Autorisation: porteur». $ Access_token));
curl_setopt($ ch, Curlopt_customrequest, 'CORRECTIF'));
curl_setopt($ ch, Curlopt_postfields, json_encode($ file_meatadata));
$ data = JSON_DECODE(curl_exec($ ch), vrai));
$ http_code = curl_getinfo($ ch,Curlinfo_http_code));
si ($ http_code != 200) <
$ error_msg = «Échec de la mise à jour des métadonnées du fichier»;
si (curl_errno($ ch)) <
$ error_msg = curl_error($ ch));
>
lancer un nouveau Exception('Erreur '.$ http_code.':'.$ error_msg));
>
retour $ data;
>
>
?>
Configuration de la base de données et de l’API (config.php)
Dans la configuration.Le fichier PHP, les paramètres de la base de données et les variables constantes de configuration de l’API Google sont définies.
Constantes de base de données:
- DB_HOST – Spécifiez l’hôte de la base de données.
- DB_USERNAME – Spécifiez le nom d’utilisateur de la base de données.
- DB_PASSWORD – Spécifiez le mot de passe de la base de données.
- DB_NAME – Spécifiez le nom de la base de données.
Constantes d’API Google:
- Google_Client_id – Spécifiez l’ID du client Google Project.
- Google_client_secret – Spécifiez le secret du client Google Project.
- Google_oauth_scope – Spécifiez la portée OAuth pour l’authentification Google (réglé sur https: // www.googleapis.com / auth / drive).
- Redirect_uri – spécifiez l’URL de rappel.
URL Google Oauth:
- $ GoogleoAuthurl – L’URL qui permet à l’utilisateur de s’authentifier avec le compte Google.
// Configuration de la base de données
définir('Db_host', 'Mysql_database_host'));
définir('Db_username', 'Mysql_database_usename'));
définir('Db_password', 'Mysql_database_password'));
définir('Db_name', 'Mysql_database_name'));
// Configuration de l'API Google
définir('Google_client_id', 'Google_project_client_id'));
définir('Google_client_secret', 'Google_project_client_secret'));
définir('Google_oauth_scope', 'https: // www.googleapis.com / auth / drive '));
définir('Redirect_uri', 'https: // www.exemple.com / google_drive_sync.php '));
// Démarrer la session
si(!ID de session()) session_start();
// URL Google Oauth
$ googleoauthurl = 'https: // comptes.Google.com / o / oauth2 / auth?portée = ' . urlencode(Google_oauth_scope) . '& redirect_uri =' . Redirect_uri . '& réponse_type = code & client_id =' . Google_client_id . '& Access_type = en ligne';
?>
Notez que: L’identification du client et le secret du client se trouvent sur la page Google API Manager du projet de console API.
Connexion de la base de données (DBConfig.php)
Le dbconfig.Le fichier PHP est utilisé pour connecter et sélectionner la base de données MySQL à l’aide de PHP.
// Inclure le fichier de configuration
Demandez une fois 'Config.php ';
// Créer une connexion à la base de données
$ db = nouveau mysqli(Db_host, Db_username, Db_password, Db_name));
// Vérifiez la connexion
si ($ db->connect_error) <
mourir("La connexion a échoué: " . $ db->connect_error));
>
Formulaire de téléchargement de fichiers (index.php)
Créez un formulaire HTML pour sélectionner le fichier pour télécharger tout type de fichiers (.jpg, .jpeg, .PNG, .pdf, .xlsx, .CSV, etc.).
- L’attribut enctype doit être défini dans le < form >TAG pour permettre le téléchargement de fichiers.
- Lors de la soumission, les données du fichier sont publiées dans le script côté serveur (télécharger.php) pour un traitement ultérieur.
// Inclure le fichier de configuration
inclure_once 'Config.php ';
$ statut = $ statusmsg = '';
si(!vide($ _Session['Status_Response'])) <
$ status_response = $ _Session['Status_Response']]
$ statut = $ status_response['statut']]
$ statusmsg = $ status_response['status_msg']]
non set ($ _Session['Status_Response']));
>
?> si(!vide($ statusmsg)) ?> div classe="Alerte d'alerte- écho $ statut; ?>"> écho $ statusmsg; ?> div> > ?> div classe="Col-MD-12"> former méthode="poste" action="télécharger.php " classe="former" cntype="Multipart / Form-Data"> div classe="groupe de formulaire"> étiqueter>Étiquette de fichiers> saisir taper="déposer" nom="déposer" classe="format de formulaire"> div> div classe="groupe de formulaire"> saisir taper="soumettre" classe="Form-Control BTN-Primaire" nom="soumettre" valeur="Télécharger"/> div> former> div>
Stocker le fichier dans la base de données (télécharger.php)
Le téléchargement.Le fichier PHP gère le téléchargement de fichiers dans PHP et le processus d’insertion de données dans la base de données MySQL.
- Obtenez des informations sur le fichier du champ de saisie en utilisant Php $ _files variable.
- Valider les entrées pour vérifier si les champs obligatoires sont vides.
- Téléchargez le fichier sur le serveur local et insérez des données de fichier dans la base de données à l’aide de PHP et MySQL.
- Rediriger l’utilisateur vers l’URL OAuth pour l’authentification avec le compte Google.
// Inclure le fichier de configuration de la base de données
Demandez une fois 'DBConfig.php ';
$ statusmsg = $ VALERR = '';
$ statut = 'danger';
// Si le formulaire est soumis
if (isset ($ _POST['soumettre'])) <
// Valider les champs d'entrée de formulaire
si (vide (vide$ _Files["déposer"] ["nom"])) <
$ VALERR .= 'Veuillez sélectionner un fichier à télécharger.
';
>
// Vérifiez si les entrées utilisateur sont vides
si (vide (vide$ VALERR)) <
$ cibledir = "Télécharges /";
$ nom de fichier = nom de base($ _Files["déposer"] ["nom"]));
$ TargetFilepath = $ cibledir . $ nom de fichier;
// Télécharger le fichier sur le serveur local
si(move_uploaded_file($ _Files["déposer"] ["tmp_name"]], $ TargetFilepath)) <
// insérer des données dans la base de données
$ sqlq = "Insérer dans Drive_Files (file_name, créé) valeurs (?,MAINTENANT())";
$ stmt = $ db->préparer($ sqlq));
$ stmt->bind_param("S", $ db_file_name));
$ db_file_name = $ nom de fichier;
$ insert = $ stmt->exécuter();
si($ insert) <
$ file_id = $ stmt->insert_id;
// Stockez l'ID de référence DB du fichier en session
$ _Session['last_file_id'] = $ file_id;
entête("Emplacement: $ googleoauthurl"));
sortie();
> Sinon <
$ statusmsg = 'Quelque chose s'est mal passé, veuillez réessayer après un certain temps.';
>
> Sinon <
$ statusmsg = 'Le téléchargement de fichiers a échoué, veuillez réessayer après un certain temps.';
>
> Sinon <
$ statusmsg = 'Veuillez remplir tous les champs obligatoires:
'
.garniture($ VALERR, '
'));
>
> Sinon <
$ statusmsg = «La soumission du formulaire a échoué!';
>
$ _Session['Status_Response'] = tableau ('statut' => $ statut, 'status_msg' => $ statusmsg));
entête("Emplacement: index.php "));
sortie();
?>
Télécharger le fichier sur Google Drive (Google_Drive_Sync.php)
Ce script est défini comme URI Redirection dans la configuration de l’API Google. Cela signifie qu’après l’authentification avec le compte Google, l’utilisateur sera redirigé vers ce script qui gère le processus de téléchargement de fichiers Google Drive avec l’API REST à l’aide de PHP.
- Obtenez le code OAuth à partir de la chaîne de requête de l’URL en utilisant Php $ _get variable.
- Inclure et initialiser la classe Google Drive API Handler.
- Obtenez l’ID de référence de fichier de la base de données locale à partir de la session.
- Remplissez les informations de fichier à partir de la base de données en fonction de l’ID de référence.
- Récupérer le fichier du serveur et définir un fichier entier en une chaîne en utilisant file_get_contents () fonction dans php.
- Obtenez le type de mime du fichier en utilisant mime_content_type () fonction dans php.
- Obtenez un jeton d’accès par code d’authentification en utilisant la fonction getAccessToken () de la classe GoogledRiveapi.
- Envoyer et télécharger un fichier sur Google Drive à l’aide de la fonction uploadFileToDrive () de la classe GoogledRiveAPI.
- Mettre à jour le fichier Meta Data dans Google Drive à l’aide de la fonction UpdateFileMeta () de la classe GoogledRiveAPI.
- Mettre à jour l’ID de référence de fichier Google Drive dans la base de données.
- Afficher l’état de téléchargement de fichiers avec le lien d’accès aux fichiers Google Drive.
// Inclut la classe de gestionnaire API Google Drive
inclure_once 'Googledriveapi.classe.php ';
// Inclure le fichier de configuration de la base de données
Demandez une fois 'DBConfig.php ';
$ statusmsg = '';
$ statut = 'danger';
if (isset ($ _Get['code'])) <
// Initialiser la classe API Google Drive
$ Googledriveapi = nouveau Googledriveapi();
// Obtenez l'ID de référence de fichier de la session
$ file_id = $ _Session['last_file_id']]
si(!vide($ file_id)) <
// Retrait les détails du fichier de la base de données
$ sqlq = "Sélectionner * dans Drive_Files Where Style =" Color: # 007700 ">;
$ stmt = $ db->préparer($ sqlq));
$ stmt->bind_param("je", $ db_file_id));
$ db_file_id = $ file_id;
$ stmt->exécuter();
$ résultat = $ stmt->get_result();
$ filedata = $ résultat->fetch_assoc();
si(!vide($ filedata)) <
$ file_name = $ filedata['nom de fichier']]
$ cible_file = 'Télécharges /'.$ file_name;
$ file_content = file_get_contents($ cible_file));
$ mime_type = mime_content_type($ cible_file));
// Obtenez le jeton d'accès
si(!vide($ _Session['google_access_token'])) <
$ Access_token = $ _Session['google_access_token']]
> Sinon <
$ data = $ Googledriveapi->Getaccesstoken(Google_client_id, Redirect_uri, Google_client_secret, $ _Get['code']));
$ Access_token = $ data['jeton d'accès']]
$ _Session['google_access_token'] = $ Access_token;
>
si(!vide($ Access_token)) <
essayer <
// Télécharger le fichier sur Google Drive
$ drive_file_id = $ Googledriveapi->Uploadfiletodrive($ Access_token, $ file_content, $ mime_type));
si($ drive_file_id) <
$ file_meta = tableau (
'nom' => nom de base($ file_name)
));
// Mette à jour les métadonnées du fichier dans Google Drive
$ drive_file_meta = $ Googledriveapi->Mise à jour($ Access_token, $ drive_file_id, $ file_meta));
si($ drive_file_meta) <
// Mette à jour la référence de fichier Google Drive dans la base de données
$ sqlq = "Mise à jour Drive_Files SET Google_Drive_file_id =? Où style = "couleur: # 007700">;
$ stmt = $ db->préparer($ sqlq));
$ stmt->bind_param("si", $ db_drive_file_id, $ db_file_id));
$ db_drive_file_id = $ drive_file_id;
$ db_file_id = $ file_id;
$ Mise à jour = $ stmt->exécuter();
non set ($ _Session['last_file_id']));
non set ($ _Session['google_access_token']));
$ statut = 'succès';
$ statusmsg = 'Le fichier a été téléchargé sur Google Drive avec succès!
'
;
$ statusmsg .= '.
$ drive_file_meta['identifiant']].'"Target =" _ Blank ">'.$ drive_file_meta['nom']].'';
>
>
> Catch (Exception $ e) <
$ statusmsg = $ e->getMessage();
>
> Sinon <
$ statusmsg = 'Impossible de récupérer le jeton d'accès!';
>
> Sinon <
$ statusmsg = 'Données de fichiers introuvables!';
>
> Sinon <
$ statusmsg = 'Référence de fichier introuvable!';
>
$ _Session['Status_Response'] = tableau ('statut' => $ statut, 'status_msg' => $ statusmsg));
entête("Emplacement: index.php "));
sortie();
>
?>
Liste de contrôle pour les tests:
Vérification de l’application Google:
Google nécessite la vérification des applications pour utiliser l’API du lecteur. Vous devez soumettre la demande de vérification pour rendre le projet Google public.
En mode développement, vous pouvez le tester en ajoutant des utilisateurs de test dans l’écran de consentement OAuth de l’application Google.
Sur la page des informations d’identification du client OAuth, cliquez sur le Écran de consentement OAuth lien.
Conclusion
Télécharger des fichiers sur Google Drive avec l’API REST est très utile lorsque vous souhaitez télécharger des images ou documenter des fichiers sur Google Drive dynamiquement à partir du site Web. Le Curl php Les fonctions aident à appeler l’API REST pour accéder à l’API Google Drive à partir du script. Non seulement le téléchargement de fichiers, mais vous pouvez également créer des dossiers, afficher / mettre à jour / supprimer des fichiers à l’aide de l’API Google Drive et PHP. Si vous souhaitez enregistrer un scape sur le serveur, les fichiers peuvent être téléchargés sur Google Drive et la référence peut être utilisée pour accéder aux fichiers à partir de Google Drive.
Voulez-vous obtenir une aide d’implémentation, ou modifier ou améliorer la fonctionnalité de ce script? Cliquez ici pour soumettre une demande de service
Si vous avez des questions sur ce script, soumettez-la à notre communauté QA – posez une question
Simple Comment intégrer l’API Google Drive avec PHP. 2
Voulez-vous intégrer l’API Google Drive avec PHP? Dans ce tutoriel, nous examinerons comment intégrer simplement l’API Google Drive avec PHP. Si vous souhaitez intégrer votre script PHP à votre compte Google Drive,’t à être dur. En fait, en utilisant la bibliothèque client PHP, il peut être assez détroit en avant. Dans cet article, nous allons voir comment créer un script simple conçu pour s’exécuter sur un serveur. Ce code ne s’exécutera pas hébergé en tant qu’application Web. Ceci n’est qu’un script de console.
- 1 Créer des informations d’identification de l’application installées
- 2 compositeur
- 3 Autorisation
- 4 API Google Drive avec PHP
- 5. Conclusion
Créer des informations d’identification de l’application installées
La première chose dont vous aurez besoin est de créer des crédits.fichier json. Cela peut être créé sur Google Cloud Console Assurez-vous de créer des informations d’identification natives.
Compositeur
Vous devrez installer la bibliothèque client PHP qui peut être effectuée à l’aide du compositeur. Les instructions pour cela peuvent être trouvées sur la bibliothèque client de la clientèle Google API PHP. Je recommande de vérifier le numéro de version le plus récent sur le référentiel PHP Packages
Le compositeur a besoin de Google / apiclient: ^ 2.12.1
Autorisation
Ce code est conçu pour stocker l’autorisation de l’utilisateur dans un fichier appelé jeton.json. Après avoir autorisé l’application une fois qu’un jeton de rafraîchissement sera stocké là-bas. Ensuite, lorsque l’application s’exécute à nouveau, il pourra utiliser le jeton de rafraîchissement pour demander un nouveau jeton d’accès afin d’accéder à votre compte Google Drive.
Avertissement que les jetons de rafraîchissement expireront après sept jours pendant que votre projet est réglé dans les tests dans Google Cloud Console. Allez à l’écran OAuth et réglez-le sur la production et le jeton de rafraîchissement s’arrêtera d’expirer.
https: // développeurs.Google.com / identité / protocoles / oauth2 # expiration
La section du code qui gère l’autorisation pour nous est la suivante
$ authurl = $ client-> createAuthUrl ();
printf ("Ouvrez le lien suivant dans votre navigateur: \ n% s \ n", $ authurl);
Imprimer «Entrez le code de vérification:»;
$ authCode = Trim (fgets (Stdin));
// Échange du code d'autorisation pour un jeton d'accès.
$ AccessToken = $ client-> fetchAccessTokenWithAuthCode ($ AuthCode);
$ client-> SetAccessToken ($ AccessToken);
Copiez le lien d’autorisation et placez-le dans n’importe quel navigateur Web. Autoriser la demande. Vous verrez une erreur de 400 dans la fenêtre du navigateur lorsqu’elle est complète Ignorez ce. Cela est dû à l’élimination de l’OOB. Si vous regardez la barre d’URL dans cette chaîne renvoyée est un code. http: // localhost /?code =4 / 0ax4xfwgu3p6qqheogz7nitcltydt3tf_bv-a1ki4uoem0czphixrpd8tenluxta-skflla& Scope = https: // www.googleapis.com / auth / drive.Readonly c’est ce code que vous ajoutez à votre application. Vous ne pouvez utiliser le code qu’une seule fois.
Le code va ensuite récupérer un jeton d’accès avec ce code d’autorisation.
En utilisant le code suivant, nous stockons le jeton retourné dans le jeton.Fichier JSON pour une utilisation ultérieure
// Enregistrer le jeton dans un fichier.
si (!file_exists (dirname ($ tokenpath))) mkdir (dirname ($ tokenpath), 0700, true);
>
file_put_contents ($ tokenpath, json_encode ($ client-> getAccessToken ()));
Avertissement que les jetons de rafraîchissement expireront après sept jours pendant que votre projet est réglé dans les tests dans Google Cloud Console. Allez à l’écran OAuth et réglez-le sur la production et le jeton de rafraîchissement s’arrêtera d’expirer.
https: // développeurs.Google.com / identité / protocoles / oauth2 # expiration
API Google Drive avec PHP
Maintenant que votre application est autorisée, vous pouvez appeler l’API Google Drive. N’oubliez pas que chaque méthode a une ou plusieurs étendues nécessaires pour accéder à cette méthode. Vous pouvez trouver la portée nécessaire dans la documentation pour chaque méthode. Par exemple le fichier.La liste vous montrera quelle portée vous devez avoir demandé l’autorisation. Dans ce script, je demande uniquement une portée de lecture uniquement, ce qui signifie que si vous essayez de faire un fichier.le créer ne fonctionnera pas. Si vous modifiez la portée de ce script, n’oubliez pas de supprimer le jeton.Fichier JSON afin que le script demande à nouveau l’autorisation de l’utilisateur.
exiger __Dir__ . ‘/ vendeur / Autoload.php ‘;
if (php_sapi_name () != ‘CLI’) Jetez une nouvelle exception (‘Cette application doit être exécutée sur la ligne de commande.’);
>
Utilisez Google \ Client;
Utiliser Google \ Service \ Drive;
/ ** * Renvoie un client API autorisé. * @retour Client l’objet client autorisé * / fonction getClient ()
$ client = nouveau client ();
$ client-> setApplicationName (‘Google Drive API Php QuickStart’);
$ client-> setScopes (‘https: // www.googleapis.com / auth / drive.lecture seulement’);
$ client-> setAuthConfig (‘C: \ YouTube \ Dev \ Indementiels.JSON ‘);
$ client-> setAccessType (‘offline’);
$ client-> setRedirereCturi (“http: // 127.0.0.1”);
$ client-> setPrompt (‘select_account consentement’);
// Chargez un jeton précédemment autorisé à partir d’un fichier, s’il existe.
// Le jeton de fichier.JSON stocke les jetons d’accès et de rafraîchissement de l’utilisateur, et est
// créé automatiquement lorsque le flux d’autorisation se termine pour le premier
// temps.
$ tokenpath = ‘token.JSON ‘;
if (file_exists ($ tokenpath)) $ accessToken = json_decode (file_get_contents ($ tokenpath), true);
$ client-> SetAccessToken ($ AccessToken);
>
// S’il n’y a pas de jeton précédent ou il est expiré.
if ($ client-> isaccesstokenexpired ()) // rafraîchir le jeton si possible, sinon récupérer un nouveau.
if ($ client-> getRefreshToken ()) $ client-> fetchaccesstoken withrefreshtoken ($ client-> getRefreshToken ());
> else // demande l’autorisation de l’utilisateur.
$ authurl = $ client-> createAuthUrl ();
printf (“Ouvrez le lien suivant dans votre navigateur: \ n% s \ n”, $ authurl);
Imprimer «Entrez le code de vérification:»;
$ authCode = Trim (fgets (Stdin));
// Échange du code d’autorisation pour un jeton d’accès.
$ AccessToken = $ client-> fetchAccessTokenWithAuthCode ($ AuthCode);
$ client-> SetAccessToken ($ AccessToken);
// Vérifiez pour voir s’il y avait une erreur.
if (array_key_exists (‘error’, $ accessToken)) lancez une nouvelle exception (join (‘,’, $ accessToken));
>
>
// Enregistrer le jeton dans un fichier.
si (!file_exists (dirname ($ tokenpath))) mkdir (dirname ($ tokenpath), 0700, true);
>
file_put_contents ($ tokenpath, json_encode ($ client-> getAccessToken ()));
>
retourner $ client;
>
// Obtenez le client API et construisez l’objet de service.
$ client = getClient ();
$ service = nouveau lecteur ($ client);
// Imprime les 10 prochains événements du calendrier de l’utilisateur.
essayer
$ optparams = array (
‘PageSize’ => 10,
‘Fields’ => ‘fichiers (id, nom, mimeType)’,
‘q’ => ‘mimetype = “application / vnd.Google Apps.dossier “et” racine “chez les parents,
‘orderby’ => ‘name’
));
$ Results = $ Service-> Files-> listFiles ($ optParams);
$ files = $ results-> getFiles ();
if (vide ($ files)) imprimer “Aucun fichier trouvé.\ n “;
> Else Imprimer “Files: \ n”;
foreach ($ files as $ file) $ id = $ file-> id;
printf (“% s – (% s) – (% s) \ n”, $ file-> getID (), $ file-> getName (), $ file-> getMiMetype ());
>
>
>
Catch (exception $ e) // TODO (développeur) – Gire l’erreur ECHO de manière appropriée ‘Message:’ .$ e-> getMessage ();
>
Conclusion
Autoriser votre script PHP à se connecter à l’API Google Drive est assez simple une fois que vous avez le code. L’utilisation de la bibliothèque client PHP et lui permettant de gérer toute l’autorisation pour nous rend notre vie beaucoup plus facile.
N’oubliez pas de créer des informations d’identification de l’application installées pour exécuter ce script. J’ai une vidéo qui montre comment. N’oubliez pas d’activer l’API Google Drive sous la bibliothèque
Articles Similaires:
- Simple Comment intégrer PHP à l’API d’administration Google Analytics.
- Google API Auth Simple
- Simple comment télécharger un fichier sur google lecteur avec Go Lang.
- Authentification Google avec Curl
Déplacer une page Web statique de Google Drive vers un environnement convivial PHP?
Google Drive est en direct assez facile, car je peux créer des fichiers localement et il prend en charge la synchronisation.
Que recommanderiez-vous de regarder / chercher?
19.9K 6 6 Badges d’or 51 51 Badges en argent 99 99 Badges de bronze
Interrogé le 8 mai 2014 à 17h20
1 135 10 10 badges en argent 19 19 badges de bronze
Une simple requête Google “Google Drive PHP” mène à ce document Google: support.Google.com / drive / réponse / 2881970?hl = en qui indique clairement: pas de php. Vous devrez peut-être travailler sur votre définition de “partout”
9 mai 2014 à 0:48
Ce n’est pas seulement ma question. Que je suis un peu clair.. J’ai besoin d’une alternative
9 mai 2014 à 5:48
3 Réponses 3
Première chose, le script côté serveur n’est pas autorisé au lecteur. Bien que chez Google, vous pouvez utiliser Google App Engine à des fins de script. Beaucoup plus de langues sont maintenant prises en charge ici, comme Go, PHP, Python et Java. Vous pouvez apprendre le moteur d’application.
Deuxième chose, pour obtenir une meilleure expérience d’hébergement, achetez un espace de serveur. À des fins d’apprentissage, vous pouvez vous inscrire à de nombreux services d’hébergement gratuits. Passer plus tard à la version payante.
25.3K 15 15 Badges d’or 91 91 Badges en argent 178 178 Badges en bronze
répondu le 8 mai 2014 à 17:31
cprakashagr cprakashagr
751 11 11 badges en argent 28 28 badges en bronze
Google Drive n’est pas fait pour ce que vous essayez de faire.
Vous voudrez peut-être examiner Google Cloud ou Google App Engine.
répondu le 8 mai 2014 à 17:24
4 843 9 9 badges d’or 50 50 badges en argent 93 93 Badges de bronze
Google Cloud est nouveau pour moi.. Les sites d’hôte Google Cloud peuvent-ils le faire?
8 mai 2014 à 17h30
Google Drive ne peut pas héberger des sites Web. Documents et autres contenus statiques mais rien de dynamique. Vous devriez vraiment aller avec une entreprise d’hébergement. Recherchez l’hébergement de partage c’est ce dont vous avez besoin.
8 mai 2014 à 17:33
Non.. Google Drive peut également héberger l’intégralité du site Web dans un dossier. Mais ça devrait être statique. Pas dynamique comme vous le dites et limité avec la taille du lecteur
8 mai 2014 à 17:38
Google Drive n’autorise tout simplement pas PHP. Il est indiqué [dans la documentation] (https: // support.Google.com / drive / réponse / 2881970?hl = en), qui est le premier lien lorsque vous Google “Google Drive PHP”
Pour exécuter du code sur les fichiers hébergés dans Google, vous devez utiliser le moteur Google App Engine. Il fonctionne PHP, Java, Python, allez.
Mais ce n’est peut-être pas ce que vous recherchez. L’utilisation d’un site Web classique Hoster pourrait être la meilleure approche
répondu le 8 mai 2014 à 17:24
19.9K 6 6 Badges d’or 51 51 Badges en argent 99 99 Badges de bronze
J’ai mon site dans Google Drive pour temporaire. Pourriez-vous me plaire à faire référence à, comment puis-je m’intégrer à Drive?
8 mai 2014 à 17:28
Il pourrait être préférable que vous me demandiez de rechercher “Google API” (c’est ce dont j’avais besoin) plutôt que vous êtes allé pour ce lien et de le raccourcir.
8 mai 2014 à 17:41
Merci pour la révocation d’une réponse précise pour un commentaire effronté 🙂 Vous avez besoin d’un hébergement régulier de site Web. Essayer de s’en tenir à Google Drive vous prendra plus de temps. Aussi en règle générale: demander “comment puis-je faire cela” sans avoir enquêté sur les références fournies n’est pas considérée comme adaptée à la communauté. Vous présumez que vous l’avez fait, il serait avant. Le simple fait de demander crée l’impression d’un freeloader. Lisez l’étiquette du site pour plus d’informations
9 mai 2014 à 0:44
Downvot n’est pas moi. Avant de me demander de voir la règle du site, voir ma réputation. Downvote nécessite 125 réputation. Je ne peux pas le faire. Je ne le ferai pas. C’est un autre. Je pense que tu as aussi besoin d’étudier ça