2017-06-30 4 views
0

J'essaye de télécharger de gros fichiers dans le dossier nouvellement créé dans google drive via PHP. mais quand je ne suis pas en utilisantGoogle_Http_MediaFileUpload constructeur doit implémenter l'interface Psr Http Message RequestInterface

$client->setDefer(true); 

Je reçois cette erreur:

Catchable fatal error: Argument 2 passed to Google_Http_MediaFileUpload::__construct() must implement interface Psr\Http\Message\RequestInterface, instance of Google_Service_Drive_DriveFile given, called in /var/www/html/google_drive2/gdrive_upload.php on line 158 and defined in /var/www/html/google_drive2/src/Google/Http/MediaFileUpload.php on line 78

Et quand j'utilise

$client->setDefer(true); 

Puis-je obtenir ceci:

Uncaught exception 'Google_Service_Exception' with message 'Not Found' in /var/www/html/google_drive2/src/Google/Http/REST.php on line 118 (!) Google_Service_Exception: Not Found in /var/www/html/google_drive2/src/Google/Http/REST.php on line 118

Tout essayé mais échoue. S'il vous plaît dites ce que je fais mal.

Voici mon code complet de gdrive_upload.php

https://pastebin.com/x96CZg3U

+0

S'il vous plaît poster votre code voir https://stackoverflow.com/help/mcve – DaImTo

+0

Je l'ai déjà posté dans pastebin https://pastebin.com/x96CZg3U –

+0

Stack ne pas coller la poubelle vous devez fournir un petit échantillon que nous pouvons utiliser pour tester pas votre code complet. Modifiez votre question et incluez suffisamment de code pour montrer le problème. – DaImTo

Répondre

0

L'erreur:

Google_Service_Exception: Introuvable dans /path/to/src/Google/Http/REST.php en ligne Il se produit lorsque vous transmettez une référence non valide à l'API Google et que l'API ne trouve pas la ressource que vous demandez. Par exemple, lors de l'ajout d'un fichier à Google Drive, un identifiant Google Drive invalide est affiché. Lorsque vous ajoutez un événement à Google Agenda, celui-ci s'affiche lorsqu'un ID de calendrier Google incorrect est transmis. Etc.

Dans votre cas, le dossier n'est probablement pas encore entièrement configuré. Vous utilisez donc un identifiant valide, mais Google n'a pas entièrement créé le dossier. L'utilisation de $ client-> setDefer (true) laisse probablement assez de temps à Google pour configurer complètement le dossier, ce qui permet à votre ID de dossier de valider. Clause de non-responsabilité: Cette erreur apparaît très probablement également dans d'autres circonstances.