export drive for Google drive api v3

时间:2017-09-20 15:08:31

标签: google-drive-api

我正在切换到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."
}
}

当然,我们不想将其下载到本地文件,然后从本地缓存的文件生成新流。我们希望完全留在记忆中。

感谢您的帮助

2 个答案:

答案 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