Google drive api 谷歌通过';访问令牌';

Google drive api 谷歌通过';访问令牌';,google-drive-api,google-slides-api,google-slides,Google Drive Api,Google Slides Api,Google Slides,我的应用向用户请求“”权限。当应用程序获得Google访问令牌时,会生成一个url来访问用户选择的Google幻灯片演示预览,类似于: https://docs.google.com/presentation/d/1WADAfZShdqdYKgae8C9LdpYlPgf2qjoZD2jjKln4F3M/embed?rm=minimal&access_token=ya29..... 这对于查看演示文稿非常有用,但如果幻灯片上使用了视频,则会出现以下错误: 由于我的应用程序正在请求对用户

我的应用向用户请求“”权限。当应用程序获得Google访问令牌时,会生成一个url来访问用户选择的Google幻灯片演示预览,类似于:

https://docs.google.com/presentation/d/1WADAfZShdqdYKgae8C9LdpYlPgf2qjoZD2jjKln4F3M/embed?rm=minimal&access_token=ya29.....
这对于查看演示文稿非常有用,但如果幻灯片上使用了视频,则会出现以下错误:


由于我的应用程序正在请求对用户的Google Drive进行完全读取访问,并且所讨论的视频位于用户的Google Drive中,为什么会发生这种情况?

之所以会发生这种情况,是因为您仍然必须让其他用户访问您的视频本身,因此,您需要像与驱动器中的任何其他类型的文件一样将其共享给他们

要以编程方式执行此操作,您需要使用驱动器API并在enpoint中生成如下请求:

[
{
“类型”:“用户”,
“角色”:“作者”,
“电子邮件地址”:user@example.com'
}, {
“类型”:“域”,
“角色”:“作者”,
“域”:“example.com”
}
]
编辑 因为我现在能理解。要查看视频,请执行以下操作:

1) 右键点击视频

2) 单击共享

3) 单击“高级”(位于右下角)

4) 单击“更改…”

5) 选择“打开-有链接的任何人”,并将访问权限设置为“可以编辑”

当您使用“access_token”查询参数时,Google Slide将在驱动程序中搜索视频的URL,您必须设置视频的可共享权限

可以从任何有权访问演示文稿的人处访问,如文档所述:

指向默认生存期为30分钟的图像的URL。此URL是 标记了请求者的帐户。有人知道这个网址吗 作为原始请求者有效地访问图像。访问 如果演示文稿的共享设置更改,图像可能会丢失

必须按照文档所述配置共享设置:

视频的URL。只要源视频存在,URL就有效 和共享设置不会更改

注意这里两者的区别:任何拥有URL的人都可以作为原始请求者有效地访问图像。

更新 我正在更新我的答案,因为我遇到了这样一个问题,即从2020年1月1日起,将不再推荐通过访问令牌查询参数授权您的请求以连接到驱动器API

因此,您现在的请求将需要使用。 我的答案应该被视为一种变通方法,因为它很快就会被弃用

文件 您可以在以下链接中找到有关幻灯片API和驱动器API的更多信息:


尽管您已将视频存储在演示文稿旁边的同一驱动器位置,但我想如果视频“嵌入幻灯片中”,则可能无法访问

但是,如果使用相同的访问令牌单独查看视频,则可以访问视频

最好单独存储视频,将它们嵌入到演示文稿中,然后使用各自的作用域访问它们

如果你选择走这条路线

我认为您还需要允许以下作用域分别从演示文稿viz drive.photos.readonly、youtube.force-ssl访问您的视频。与其他驱动器作用域一起,前提是您已使用以下两种方式之一存储视频。 因此,在访问令牌请求时,使用相关的作用域并获取访问令牌,并在稍后的时间点使用相同的令牌访问您的资源

2个选项

使用驱动器API时


查看谷歌照片中的照片、视频和相册

使用Youtube时

查看、编辑和永久删除您的YouTube视频、分级、评论和字幕

谷歌API文档-


视频与演示文稿一起放在当前用户的驱动器中。这不是一个共享视频。此错误仅在使用“access_token”查询参数访问演示文稿时显示。谢谢,这已奏效。那么这是设计完成的吗?这看起来像个虫子。如果我从驱动器向演示文稿中插入图像,它会显示良好而不会被公开共享,只是视频有此问题。我编辑了我的回答,解释了视频和imagesEven之间的差异,在以下范围内,“请求访问”按钮仍会显示。“,”,“,”亚当,你得到阿尔贝托指定的决议了吗?你有时间去看看吗!是的,阿尔贝托的解决方案是可行的,但我希望它能更自动化,不需要对视频进行权限调整。