我正在开发网络应用程序,我需要通过谷歌驱动器 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>
笔记:
在这种情况下,需要共享视频文件。请注意这一点。
参考:
如果这不能解决您的问题,我深表歉意。
- 1 回答
- 0 关注
- 204 浏览
添加回答
举报
0/150
提交
取消