我正在切换到Google驱动器V3 api,我无法检索到该文档的流。
目标:我想将google驱动器文档推送到另一个位置,我需要检索文件流,以便将其用于将其推送到目标。
我找不到使用Google Drive API V3的方法!
在V2中,我用过:
downloadUrl = file.ExportLinks[(string)ExportTable[file.MimeType]];
然后我可以使用类似的东西:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(downloadUrl));
我在V3中找不到相同的东西。 我试过了:
var getfile = _service.Files.Get(file.Id).Execute();
var request = _service.Files.Export(file.Id, getfile.MimeType);
System.IO.Stream stream = request.ExecuteAsStream();
流的内容是:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "fileNotExportable",
"message": "Export only supports Google Docs."
} ],
"code": 403,
"message": "Export only supports Google Docs."
}
}
当然,我们不想将其下载到本地文件,然后从本地缓存的文件生成新流。我们希望完全留在记忆中。
感谢您的帮助
答案 0 :(得分:0)
您可以在Migrate to Drive v3文档中看到它:
已从文件中删除了exportLinks字段。要导出Google 文件,使用 files.export 方法改为。
检查该页面以了解v3中的其他更改。
答案 1 :(得分:0)
如果您以正确的用户身份登录或文件是公开的链接,您也可以自己创建链接:
https://docs.google.com/feeds/download/documents/export/Export?id={{ID}}&exportFormat=pdf