Есть ли способ найти автосохранение завершено в Google Drive Docs API в .NET? - PullRequest
0 голосов
/ 04 октября 2019

Я создал образец веб-приложения для доступа к API Google Drive.

  1. Включил API документов Google Drive с помощью моего аккаунта Google.
  2. Скачал файл credential.json и включен в проект.
  3. Загрузил один документ на мой гугл-диск
  4. Открыл этот файл с помощью редактора в IFRAME.
  5. Отредактировал файл в iframe и его автоматически сохранили.

Есть ли способ узнать о событии или вызове API для проверки завершения автосохранения в Google Drive Docs API в .NET?

1 Ответ

0 голосов
/ 07 октября 2019

Ответ:

Не существует предварительно определенной функции 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 для .NET документации.

Примечание: это принятосразу от Документации Microsoft на сегодня (2019-10-07), и ее необходимо будет переработать для вашего варианта использования. Это просто пример определения функции:

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, показывая, что файл был сохранен.

Ссылки:

...