在从管理控制台启用Google Drive API访问并获取我的客户端ID密钥后,我按照示例代码(使用Python 2.7)并且我能够插入文件夹,设置相应的权限(type = anyone,role = reader),并将text / html类型文件插入新文件夹。
但是,我在驱动器服务上执行insert时收到的JSON文件资源对象没有' webViewLink'领域!有' webContentLink'和' selfLink'但是静态HTML发布所必需的“webViewLink”字段似乎缺失了。
最令人困惑的。如果此功能尚未开启,或者我需要配置我的帐户设置以允许HTML发布,请告诉我们。任何其他帮助将是最受欢迎的;)
答案 0 :(得分:1)
仅为公用文件夹返回webViewLink
属性,而不返回此类文件夹中的单个文件。您可以将其用作基本URL来构建指向文件的链接。
答案 1 :(得分:0)
可以通过执行以下操作来检索 WebViewLink 文件属性:
$file = $service->files->get($file_id, array('fields' => 'webViewLink'));
$web_link_view = $file->getWebViewLink();
OR
$sheetsList = $drive_service->files->listFiles([
'fields' => 'files(id, name, webViewLink, webContentLink)',
]);
$web_link_view = $sheetsList->current()->getWebViewLink();
请注意,您应该加载文件,以指定要携带的字段(在这种情况下为webViewLink
)。如果您不这样做,那么只有id
和name
可用。
如果还需要配置文件权限,则可以执行以下操作:
$permissions = new \Google_Service_Drive_Permission();
$permissions->setRole('writer');
$permissions->setType('anyone');
$drive_service->permissions->create($file_id, $permissions);
setRole()
和setType()
的可能值可在此处找到:https://developers.google.com/drive/api/v3/reference/permissions/create