没有收到“webViewLink”作为回应?

时间:2012-11-30 20:05:53

标签: google-drive-api

在从管理控制台启用Google Drive API访问并获取我的客户端ID密钥后,我按照示例代码(使用Python 2.7)并且我能够插入文件夹,设置相应的权限(type = anyone,role = reader),并将text / html类型文件插入新文件夹。

但是,我在驱动器服务上执行insert时收到的JSON文件资源对象没有' webViewLink'领域!有' webContentLink'和' selfLink'但是静态HTML发布所必需的“webViewLink”字段似乎缺失了。

最令人困惑的。如果此功能尚未开启,或者我需要配置我的帐户设置以允许HTML发布,请告诉我们。任何其他帮助将是最受欢迎的;)

2 个答案:

答案 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)。如果您不这样做,那么只有idname可用。

如果还需要配置文件权限,则可以执行以下操作:

$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