最后,我在c# .NET中为DriveAPI2.0(c#.NET)提供了一个工作解决方案,可以使用下面的过程获得GoogleDocRevision二进制流。这个获得文档修订的过程与仅仅获得一个正常的文档是非常不同的。
在v2中获得Google修订版
有没有办法在驱动器3.0 (v3)中获得Google修订版的二进制流?此功能似乎已被删除。C#或JavaScript、curl或PHP或任何编码语言都可以.
发布于 2021-03-05 12:58:44
这是从Google获得一个被保护的版本的解决方案。注意: OAUTH2流中的用户必须对文档具有编辑权限。这使用了一个带有下面修改的前端解。
private async Task GetRevisionStream(string accessToken, string fileId, string revId)
{
Log("Making API Call to get revision binary stream...");
// builds the request
string userinfoRequestUri = "https://docs.google.com/feeds/download/documents/export/Export?id=" + fileId + "&revision=" + revId + "&exportFormat=docx";
// sends the request
HttpWebRequest userinfoRequest = (HttpWebRequest)WebRequest.Create(userinfoRequestUri);
userinfoRequest.Method = "GET";
userinfoRequest.Headers.Add(string.Format("Authorization: Bearer {0}", accessToken));
userinfoRequest.ContentType = "application/x-www-form-urlencoded";
userinfoRequest.Accept = "Accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
// gets the response
WebResponse userinfoResponse = await userinfoRequest.GetResponseAsync();
using (StreamReader userinfoResponseReader = new StreamReader(userinfoResponse.GetResponseStream()))
{
// reads response body
System.IO.Stream streamDoc = userinfoResponseReader.BaseStream;
var fileStream = File.Create("d:\\test.docx");
streamDoc.CopyTo(fileStream);
fileStream.Flush();
fileStream.Close();
}
}https://stackoverflow.com/questions/66465017
复制相似问题