使用google drive sdk创建pdf文件时出错

时间:2015-07-05 23:51:47

标签: php wordpress pdf google-drive-api

我正在使用google drive sdk上传文件,而且我想我可以在其上创建pdf文件 - 所以我调整了代码。所以在我的代码中,我生成HTML文本格式,用作在google驱动器中创建的PDF的内容。

这是我的代码的剪辑。

$subcontent = "<h1>Hello World</h1><p>some text here</p>";
$file = new Google_DriveFile();
....
$mkFile = $this->_service->files->insert($file, array('data' => $subcontent));
$createdFile = $fileupload->nextChunk($mkFile, $subcontent); // I got error on this line
$this->_service->files->trash( $createdFile['id'] );

...

当我运行代码时,我根据上面代码中的注释得到了错误:

Catchable fatal error: Argument 1 passed to Google_MediaFileUpload::nextChunk() must be an instance of Google_HttpRequest, array given, called in /home/site/public_html/mywp/wp-content/plugins/mycustomplugin/functions.php on line 689 and defined in /home/site/public_html/mywp/wp-content/plugins/mycustomplugin/gdwpm-api/service/Google_MediaFileUpload.php on line 212

我不知道nextChunk中第二个参数的值应该是什么,在原始代码中它是这样的:

 .....
$handle = fopen($path, "rb");

                while (!$status && !feof($handle)) {

                    $max = false;

                    for ($i=1; $i<=$max_retries; $i++) {

                        $chunked = fread($handle, $chunkSize);

                        if ($chunked) {

                            $createdFile = $fileupload->nextChunk($mkFile, $chunked);

                            break;

                        }elseif($i == $max_retries){

                            $max = true;

                        }

                    }
.....

我的问题是,我该如何处理这个错误?如何通过调整此代码在谷歌驱动器中成功创建PDF文件?因为我需要在我的帖子中链接文件的创建文件ID。

提前致谢...

1 个答案:

答案 0 :(得分:0)

你不应该将$ mkFile传递给nextChunk。请阅读resumable uploads section in the documentation

你有比这更基本的问题。例如,您执行的插入调用已经设置了该文件的数据。除非您正在进行可恢复上传,否则无需对nextChunk执行任何操作。按照&#34;多部分文件上传&#34;上述doc的一部分用于修复insert语句,只删除nextChunk行。