【问题标题】:Download google slide via google api with raw request通过带有原始请求的谷歌 api 下载谷歌幻灯片
【发布时间】:2017-11-22 14:07:23
【问题描述】:

我是谷歌开发者 API 的新手,我的目标是使用 raw request in php only 将谷歌幻灯片从谷歌驱动器下载到我的服务器,而不是使用 pdk sdk。我已经完成了以下步骤:

1) 我通过提供所有强制范围的身份验证过程获得了access_token

2) 现在我去https://www.googleapis.com/drive/v2/files/FILEID 获取文件元数据作为响应,我得到exportLinks array(),因为我得到了下载幻灯片的网址,通过它我可以将幻灯片从谷歌驱动器获取到我的服务器。假设下面是我想要的最终exportLinks

https://docs.google.com/feeds/download/presentations/Export?id=MYFILEID&exportFormat=pptx

如果我在浏览器中点击上面的 URL,则有效文件正在下载现在实际问题来了我将代码从上面的 url 下载文件到我的服务器,如下所示:

<?php 

$c = file_get_contents("https://docs.google.com/feeds/download/presentations/Export?id=MYFILEID&exportFormat=pptx");

file_put_contents('new.pptx', $c);

现在文件 new.pptx 在我的服务器上创建,这是无效的,这意味着大小不正确,大约 75kb,实际大小约为 11mb,而且它没有在 powerpoint 中打开,显示错误,如 unreadable content found

请帮助我如何将有效的谷歌幻灯片从谷歌驱动器下载到我的服务器..

我做了研究,发现如果你必须将谷歌幻灯片从谷歌驱动器下载到你的服务器,那么指向exportLinks我就在这里吗?

可能是我的方法不正确,所以请纠正我。

【问题讨论】:

  • 共享幻灯片文件时,我可以使用 curl 从端点下载。虽然我不知道这是否会导致解决方案,但您可以确认并尝试如下吗? 1. 请问new.pptx 大小为75 kb 吗?我认为 new.pptx 可能是一个 HTML 文件。如果是这样,如果您使用文本编辑器打开它,则可能包含错误消息。我们能知道错误吗? 2. 可以尝试下载小尺寸的幻灯片作为样本吗?如果尺寸是问题的原因,我认为情况可能会改变。如果这些对你没有用,我很抱歉。
  • @Tanaike 谢谢,但是当我打电话给file_get_contents("https://docs.google.com/feeds/download/presentations/Export?id=MYFILEID&amp;exportFormat=pptx"); 时,是的,它给了我html code,但它发生在所有尺寸的幻灯片上。但请纠正我从exportLinks 将幻灯片下载到我们的服务器的正确方法是我在上面做的
  • 能否确认html代码中的错误信息?还是没有错误?
  • @Tanaike 谢谢我遇到了我直接访问 exportLinks 而不是这个我尝试使用它为我工作的 accesstoken 的问题
  • 感谢您提供更多信息。很高兴您的问题得到了解决。

标签: php google-api google-drive-api google-slides-api google-php-sdk


【解决方案1】:

我遇到了我错了的问题,我直接访问了exportLinks,但它应该通过带有 Curl 的标头中的访问令牌访问,谢谢@Tanaike

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-23
    • 1970-01-01
    • 2016-01-29
    相关资源
    最近更新 更多