。NET中的Google驱动器文档api是否有找到自动保存的方法?

问题描述 投票:-1回答:1

我已经创建了用于访问Google Drive API的示例网络应用程序。

  1. 使用我的Google帐户启用了Google Drive文档API。
  2. 下载的credential.json文件,并包含在项目中。
  3. 将一个文档上传到我的Google驱动器中
  4. 用IFRAME中的编辑器打开了该文件。
  5. 在iframe中编辑了文件,并自动保存了该文件。

是否有办法找出事件或API调用以检查自动保存是否已在.NET中的Google Drive docs API中完成?

c# .net google-api google-drive-api google-docs-api
1个回答
0
投票

答案:

不存在预定义的API函数,可以自动检查本地Google云端硬盘文件的自动保存何时完成。

解决方法:

使用一些异步代码,您可以在C#中创建一个委托函数以充当回调,当对iframed文件的修订数量增加时,该回调将返回。

进行API调用以检索当前版本的文件修订版

RevisionsResource.ListRequest listRequest = service.Revisions.List();
// Use maximum page size to make sure to get all
listRequest.PageSize = 1000; 
listRequest.FileId = "<file-id>";

IList<Google.Apis.Drive.v3.Data.Revision> revisions = listRequest.Execute()

然后您可以根据Microsoft的Callback Function Implementation for .NET文档定义回调函数。

注意:这是从今天(2019-10-07)开始直接从Microsoft文档中删除,需要针对您的用例进行重新设计。这只是一个函数定义示例:

using System;  
using System.Runtime.InteropServices;  

public delegate bool CallBack(int hwnd, int lParam);  

public class EnumReportApp  
{  
    [DllImport("user32")]  
    public static extern int EnumWindows(CallBack x, int y);   

    public static void Main()   
    {  
        CallBack myCallBack = new CallBack(EnumReportApp.Report);  
        EnumWindows(myCallBack, 0);  
    }  

    public static bool Report(int hwnd, int lParam)  
    {   
        Console.Write("Window handle is ");  
        Console.WriteLine(hwnd);  
        return true;  
    }  
} 

当初始定义的revisions增加时,您的回调函数应返回值,表明文件已保存。

参考:

© www.soinside.com 2019 - 2024. All rights reserved.