【问题标题】:Google Drive API File Picker: File select of “doc” extension return empty contentGoogle Drive API File Picker:“doc”扩展的文件选择返回空内容
【发布时间】:2016-06-20 18:57:04
【问题描述】:

我正在尝试通过谷歌选择器下载文件,pdf 和 docx 扩展文件下载得很好。

但我面临的问题是,在选择 doc 扩展文件时,对象将文件大小返回为零。换句话说,API 的“PickerCallBack”函数提供了正确的 mime 类型,但响应的文件大小为零。

看一下屏幕截图,我们可以看到文件大小为零。

Click here to view Response information screen shot

因此,如果我通过使用文件 ID 和身份验证令牌继续此过程,我将能够获得下载的 ULR,然后将其传递给下面的 PHP 代码。

$request = new Google_Http_Request($downloadUrl, 'GET', null, null);

如果您尝试获取它返回的文件内容为空,则使用此请求对象。

$httpRequest = $service->getClient()->getAuth()->authenticatedRequest($request);
$httpRequest->getResponseBody();

参考:https://developers.google.com/drive/v2/web/manage-downloads#examples

注意:所有这些过程都适用于 pdf 和 docx 扩展名,唯一的问题是 doc 扩展名文件。

所以我需要知道我应该做什么,以便能够获取文件内容以响应 doc 扩展文件。

【问题讨论】:

    标签: php google-api google-drive-api google-docs-api google-picker


    【解决方案1】:

    Entering file extensions in the manifest 中所述,

    推荐的云端硬盘最佳做法是同时注册MIME types 和文件扩展名。

    清单中要修改的重要部分是 type 和 href 字段:

    • 在类型字段中,输入您希望应用可用于搜索的 MIME 类型和文件扩展名
    • 在 href 字段中,输入您在清单中为 web_url 提供的相同 URL。

    除此之外,请注意Setting MIME types and file extensions:

    指定您的应用可以打开的 MIME 类型和文件扩展名。输入这些值时,请考虑以下事项:

    • 指定 MIME 类型和文件扩展名。在某些情况下,仅一种或另一种是不够的。
    • 确保您输入的 MIME 类型是标准、规范类型或 Google MIME 类型,没有拼写错误或拼写错误。
    • 仔细考虑您的应用需要默认状态还是次要状态。

    您也可以通过给定的文档了解以下详细信息:

    • 支持的 mime 类型
    • 默认与次要状态与默认情况下使用您的应用打开文件有关

    【讨论】:

    • 您在此处提供的链接是关于“Chrome 网上商店列表”的,但我正在使用与您在此处提供的完全不同的下载 URL 下载文件。我认为您错过了我帖子中提供的参考。在文档中,他们甚至没有使用 mime 类型,只是使用下载 URL 下载文件我使用的代码适用于 docx、pdf、rtf 和 txt,唯一的问题是 doc 扩展名。
    猜你喜欢
    • 2015-11-03
    • 1970-01-01
    • 2012-06-07
    • 2015-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-01
    • 2016-09-23
    相关资源
    最近更新 更多