将文件上传到Google云端硬盘时的未定义变量

时间:2015-04-30 06:47:16

标签: php google-api google-drive-api google-api-php-client

我使用Google Drive API拨打PHP Client Library时遇到问题。

我的编码是

$file = new Google_Service_Drive_DriveFile();
$file->setTitle($title);
$result = $service->files->insert($file, array(
'data' => file_get_contents("dd.doc"),
'mimeType' => 'text/plain',
'uploadType' => 'multipart'
));

我收到以下错误

  

未定义变量:service尝试获取非对象的属性   调用成员函数insert()

1 个答案:

答案 0 :(得分:0)

您是否在脚本中包含了客户端lib?或者你只是忘了添加那部分?

require_once 'Google/Client.php';     
require_once 'Google/Service/Drive.php';   

同时检查$ service是否已正确创建。你错过了那段代码。

$client_id = '<YOUR_CLIENT_ID>';
$client_secret = '<YOUR_CLIENT_SECRET>';
$redirect_uri = '<YOUR_REDIRECT_URI>';
$client = new Google_Client();
$client->setClientId($client_id);
$client->setClientSecret($client_secret);
$client->setRedirectUri($redirect_uri);
$client->addScope("https://www.googleapis.com/auth/drive");
$service = new Google_Service_Drive($client);

可以找到一个非常好的例子here