1

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

但是,我通过在驱动器服务上执行插入收到的 JSON 文件资源对象没有“webViewLink”字段!有“webContentLink”和“selfLink”字段,但似乎缺少静态 HTML 发布所必需的“webViewLink”。

最令人费解。如果此功能尚未打开,或者我需要配置我的帐户设置以允许 HTML 发布,请告诉我。任何其他帮助将不胜感激;)

4

2 回答 2

1

webViewLink属性仅针对公用文件夹返回,而不是此类文件夹中的单个文件。您可以使用它作为基本 url 来构建指向您的文件的链接。

于 2012-11-30T23:33:10.237 回答
0

可以通过执行以下操作来检索WebViewLink文件属性:

$file = $service->files->get($file_id, array('fields' => 'webViewLink'));
$web_link_view = $file->getWebViewLink();

或者

$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

于 2020-08-07T14:05:37.160 回答