我正在尝试通过php上传谷歌驱动器中新创建的文件夹中的大文件。 但是当我不使用时
$client->setDefer(true);
然后我收到了这个错误:
可捕获的致命错误:传递给Google_Http_MediaFileUpload :: __ construct()的参数2必须实现接口Psr \ Http \ Message \ RequestInterface,给出了Google_Service_Drive_DriveFile的实例,在第158行的/var/www/html/google_drive2/gdrive_upload.php中调用并在第78行的/var/www/html/google_drive2/src/Google/Http/MediaFileUpload.php中定义
当我使用
时 $client->setDefer(true);
然后我明白了:
未捕获的异常' Google_Service_Exception'有消息'未找到'在第118行的/var/www/html/google_drive2/src/Google/Http/REST.php中 (!)Google_Service_Exception:在第118行的/var/www/html/google_drive2/src/Google/Http/REST.php中找不到
尝试了一切但失败了。请告诉我我做错了什么。
这是我的完整代码gdrive_upload.php
答案 0 :(得分:0)
错误:
Google_Service_Exception:第118行的/path/to/src/Google/Http/REST.php中找不到
当您向Google API传递无效引用并且API无法找到您要求的资源时,会发生。
例如,在向Google云端硬盘添加文件时,会在通过无效的Google云端硬盘ID时显示。 向Google日历添加活动时,会在通过无效的Google日历ID时显示。 等
在您的情况下,该文件夹可能尚未完全设置。因此,您使用的是有效身份证明,但Google尚未完全创建该文件夹。使用$ client-> setDefer(true)可能会让Google有足够的时间来完全设置文件夹,从而允许您的文件夹ID验证。
免责声明:此错误也可能出现在其他情况下。