php – 如何使用Google API在Team Drive中创建文件夹?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 如何使用Google API在Team Drive中创建文件夹?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2451字,纯文字阅读大概需要4分钟。
内容图文
我正在努力使用Google API PHP客户端库在Team Drive中创建一个文件夹.
我正在使用服务帐户并模仿作为Team Drive成员的用户(我自己)并可以列出驱动器的内容.但是,当我创建一个文件夹时,它总是在“我的驱动器”中创建它而不是指定的团队驱动器.
尝试1
$client = new Google_Client();
$client->useApplicationDefaultCredentials();
$client->addScope("https://www.googleapis.com/auth/drive");
$client->setSubject('user@mydomain.com');
$service = new Google_Service_Drive($client);
$folderId = '0AIuzzEYPQu9CUk9PVA';
$fileMetadata = new Google_Service_Drive_DriveFile(array(
'name' => 'New Test Folder',
'mimeType' => 'application/vnd.google-apps.folder',
'supportsTeamDrives' => true,
'parents' => ['0AIuzzEYPQu9CUk9PVA']
));
尝试2
$fileMetadata = new Google_Service_Drive_DriveFile(array(
'name' => 'New Test Folder',
'mimeType' => 'application/vnd.google-apps.folder',
'supportsTeamDrives' => true,
'teamDriveID' => '0AIuzzEYPQu9CUk9PVA'
));
更新尝试3
$fileMetadata = new Google_Service_Drive_DriveFile(array(
'name' => 'Hello 123',
'supportsTeamDrives' => true,
'mimeType' => 'application/vnd.google-apps.folder',
'parents' => ['0AIuzzEYPQu9CUk9PVA']
));
$file = $service->files->create($fileMetadata, array(
'fields' => 'id'));
printf("Folder ID: %s\n", $file->id);
尝试3出现此错误:
致命错误:未捕获Google_Service_Exception:{“error”:{“errors”:[{“domain”:“global”,“reason”:“notFound”,“message”:“找不到文件:0AIuzzEYPQu9CUk9PVA.”,“locationType” :“参数”,“位置”:“fileId”}]
我已阅读有关Team Drive和API的所有(有限)documentation,并了解Team Drive中的文件夹/文件只能有一个父级(Team Drive的ID),因此我尝试将父级的变体作为数组和字符串.
该文件夹是在错误的位置正确创建的.
如果有人有任何想法,我会很感激帮助.
谢谢
解决方法:
关于如何处理Teamdrives内部文件夹创建的文档不是很清楚,但这是您需要注意的两件事:
1.’supportsTeamDrives’=> true,是可选参数的一部分,而不是文件元数据的一部分.
2.父元素和teamDriveId都应作为元数据的一部分包含在内
所以这是一个如何实现这个目标的例子:
$service = new Google_Service_Drive($client);
$parent = "0AA3C8xRqwerLglUk9PVA"; //Teamdrive ID
//Create new folder
$file = new Google_Service_Drive_DriveFile(array(
'name' => 'Test Folder',
'mimeType' => 'application/vnd.google-apps.folder',
'teamDriveId' => $parent,
'parents' => array($parent)
));
$optParams = array(
'fields' => 'id',
'supportsTeamDrives' => true,
);
$createdFile = $service->files->create($file, $optParams);
print "Created Folder: ".$createdFile->id;
请注意:您将需要客户端库版本2.1.3或更高版本.
内容总结
以上是互联网集市为您收集整理的php – 如何使用Google API在Team Drive中创建文件夹?全部内容,希望文章能够帮你解决php – 如何使用Google API在Team Drive中创建文件夹?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。