Nano Hash - криптовалюты, майнинг, программирование

С# Копировать документ Google Docs через API

Я трачу часы на то, чтобы узнать, как скопировать Документы Google (текстовый документ!)..

Я пробовал несколько решений, но ни одно из них не сработало.

Также documentId != fileId, что делает процесс немного странным.

Код, который я пробовал до сих пор:

DriveService service = GetDriveService();
DocsService docsService = GetDocsService();
DocumentsResource.GetRequest request = docsService.Documents.Get(fileId);

var GoogleDocument = request.Execute(); //Returns the correct File

FilesResource.GetRequest getFileRequest = service.Files.Get(fileId);

var GoogleFile = getFileRequest.Execute(); //Error - see below

Ошибка:

Google.GoogleApiException: "Not Found"

Inner Exception
JsonReaderException: Error parsing NaN value. Path '', line 1, position 1.

Diese Ausnahme wurde ursprünglich bei dieser Aufrufliste ausgelöst:
    Newtonsoft.Json.JsonTextReader.ParseNumberNaN(Newtonsoft.Json.ReadType, bool)
    Newtonsoft.Json.JsonTextReader.ParseValue()
    Newtonsoft.Json.JsonTextReader.Read()
    Newtonsoft.Json.JsonReader.ReadForType(Newtonsoft.Json.Serialization.JsonContract, bool)
    Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(Newtonsoft.Json.JsonReader, System.Type, bool)
    Newtonsoft.Json.JsonSerializer.DeserializeInternal(Newtonsoft.Json.JsonReader, System.Type)
    Newtonsoft.Json.JsonConvert.DeserializeObject(string, System.Type, Newtonsoft.Json.JsonSerializerSettings)
    Google.Apis.Services.BaseClientService.DeserializeError(System.Net.Http.HttpResponseMessage)

идентификатор файла:

string fileId = "1N9YQSW_n5DAs1uchCz1GTnsIb-CmvhS-KnlsOWok-vs";

Что мне не хватает?


  • Вы не добавили полученную ошибку в свой вопрос (пожалуйста, не публикуйте ошибку в виде изображения, вместо этого отредактируйте свой вопрос с текстом ошибки) 04.02.2020

Ответы:


1

Вы делаете GetRequest вместо CopyRequest. Кроме того, вам нужен только Drive API для копирования файла. Из документации и Краткое руководство:

var service = new DriveService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName = ApplicationName,
            });
FilesResource.CopyRequest request = service.Files.Copy(fileId);
request.Execute();

Кроме того, DocumentId является идентификатором файла:

введите здесь описание изображения Результат выполнения Получить вызов API:

введите здесь описание изображения

05.02.2020
  • Я использовал API Drive.v1, который, кажется, не принимает DocumentId как fileId, но теперь он работает, спасибо! 05.02.2020

  • 2

    Вы должны попробовать тест онлайн-запроса от Google. И там вы увидите, связана ли проблема с вашим кодом или нет... https://developers.google.com/drive/api/v2/reference/files/get?apix=true#try-it Когда я набираю ваш идентификатор, это не работает.

    04.02.2020
  • Ну, это файл с его Диска, поэтому, если он не является общедоступным, он не будет работать для другого пользователя. 05.02.2020
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..