无法在通过Google云端硬盘API上传的Google云端硬盘中找到我的文件

时间:2017-08-28 04:34:25

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

我正在将文件上传到我的google云端硬盘帐户。这是代码:

putenv('GOOGLE_APPLICATION_CREDENTIALS=xxxx.json');

$client = new Google_Client();
$client->useApplicationDefaultCredentials();
$client->addScope(Google_Service_Drive::DRIVE);
$redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
$client->setRedirectUri($redirect_uri);
$tempfile = "birds-image-11.jpg";

$file = new Google_Service_Drive_DriveFile(array(

        'name' => 'tc-test.jpg',

    ));

$service = new Google_Service_Drive($client);
$result = $service->files->create($file, array(
  'data' => file_get_contents($tempfile),
 'mimeType' => 'application/octet-stream',
  'uploadType' => 'media',
  'fields' => 'id, name,kind'
));

printf("File ID: %s\n", $result->id);echo '<br>';
printf("File Name: %s\n", $result->name);echo '<br>';
printf("File Kind: %s\n", $result->kind); echo '<br>';

我可以看到返回的id,名称和种类。这意味着文件已经上传了吗?但是当我转到谷歌驱动器时,我看不到文件。

如果我列出api $service->files->listFiles();中的文件,我可以看到返回的上传文件对象。

为什么我在驱动器(https://drive.google.com/drive/my-drive)中看不到它,我应该在哪里查找文件?

顺便说一句,我正在使用api的服务帐号。

1 个答案:

答案 0 :(得分:0)

您还需要设置文件的父文件夹,这些文件夹可以是用户&#34;我的云端硬盘&#34;或任何其他文件夹。

Specify folder name while upload file via Google Drive API

https://developers.google.com/drive/v3/reference/files/update