为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用google drive api托管或流式传输在google drive中上传的视频

如何使用google drive api托管或流式传输在google drive中上传的视频

PHP
侃侃无极 2021-11-05 13:26:05
我正在开发网络应用程序,我需要通过谷歌驱动器 api 流式传输在谷歌驱动器中上传的视频。我已经创建了服务帐户来上传文件、查看文件和授予权限。相反,我授予了在特定域中共享文件的权限,我正在尝试从子域访问文件,如下所示。在这里作为示例,我正在使用 w3school.com 来访问流视频。以下是我授予域权限的代码:**我也尝试授予电子邮件权限,然后视频成功播放**https://developers.google.com/drive/api/v3/manage-sharing $domainPermission = new Google_Service_Drive_Permission(array(        'type' => 'domain',        'role' => 'reader',        'domain' => 'w3schools.com'    ));    $request = $driveService->permissions->create(        $fileId, $domainPermission, array('fields' => 'id'));    $batch->add($request, 'domain'); $results = $batch->execute();要让网络链接流式传输视频如下:$service = new Google_Service_Drive($client);$fileId = 'xxxxxxxxxxxxxxxxxw5e4zLE5mLv9lYob';$argument = array(                  "fields"=>"webViewLink",                  );  $file = $service->files->get($fileId,  $argument);  echo "<pre>";  print_r($file);it give's webviewlink as follow's https://drive.google.com/file/d/xxxxxxxxxxxxxxxxw5e4zLE5mLv9lYob/view?usp=drivesdkNow to stream video example html code is like this <!DOCTYPE html><html><body><video width="320" height="240" controls>  <source src="https://drive.google.com/file/d/xxxxxxxxxxx5mLv9lYob/view?usp=drivesdk" type="video/mp4"></video></body></html>`我无法在我的子域或主域中播放此视频,例如:webaccess.w3schools.com 或 w3schools.com过程中可能出现什么错误。请帮忙谢谢。
查看完整描述

1 回答

?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

我认为您的问题是由于跨域读取阻塞 (CORB)。所以在你的情况下,如何使用webContentLink而不是webViewLink?就像下面的网址。


https://drive.google.com/uc?id=xxxxxxxxxxx5mLv9lYob&export=download

当你的 HTML 被修改时,它变成如下。


修改后的 HTML:

<!DOCTYPE html>

<html>

<body>


<video width="320" height="240" controls>

  <source src="https://drive.google.com/uc?id=xxxxxxxxxxx5mLv9lYob&export=download" type="video/mp4">

</video>


</body>

</html>

笔记:

  • 在这种情况下,需要共享视频文件。请注意这一点。

参考:

如果这不能解决您的问题,我深表歉意。


查看完整回答
反对 回复 2021-11-05
  • 1 回答
  • 0 关注
  • 204 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信