Как получить информацию о диске внутри другого MS Graph SDK - PullRequest
2 голосов
/ 31 января 2020

Я копирую файл с диска на другой диск с помощью ms graph sdk в c#.

Чтобы скопировать на диск, мне нужно получить parentReference целевого диска.

Я использую код ниже:

var parentref = graphClient
  .Sites[IdGestDoc]
  .Drives[DriveId]
  .Root
  .Request()
  .GetAsync()
  .Result;

var parentReference = new ItemReference
{
  DriveId = DriveId,
  Id = parentref.Id
};

Он работает хорошо, когда я пытаюсь использовать его с идентификатором диска root.

Но когда я пытаюсь использовать эту строку с идентификатором накопителя на вспомогательном приводе, он возвращает следующее сообщение об ошибке:

Указанный идентификатор накопителя выглядит неправильно или не соответствует представляют действительный диск.

Я думал, что смогу использовать код для любого идентификатора диска, но, похоже, это не так.

Так как я могу получить ту же информацию для Поддиски как диск root?

Для получения более подробной информации, идентификатор диска root выглядит следующим образом:

b!07TT1TT6TTOI-xYElkDOj9a5a_hmu6RDt0mpVQfH3RFpCR1wxODCRpss4Xq4g75t

С другой стороны, выглядит идентификатор поддиска как это:

01QVACJXG2T46MR734INA24SEQ3LZYRIZR

Совершенно очевидно, что есть два разных типа идентификаторов, поэтому я получаю сообщение об ошибке. Вот почему я спрашиваю, как получить информацию для заполнения родительского ссылочного объекта для копии файла успешно?

1 Ответ

0 голосов
/ 31 января 2020

Я знал, что для того, чтобы скопировать файл на целевой диск, ParentReference необходимо заполнить DriveId и Id.

Что я не знал, так это то, что DriveId был идентификатором root Диск.

Таким образом, чтобы сделать копию успешной, объект ParentReference должен выглядеть следующим образом:

    var parentReference = new ItemReference
    {
        DriveId = DriveId, //root drive Id => b!07TT1TT6TTOI-xYElkDOj9a5a_hmu6RDt0mpVQfH3RFpCR1wxODCRpss4Xq4g75t
        Id = parentref.Id //destination drive Id => 01QVACJXG2T46MR734INA24SEQ3LZYRIZR
    };

вы получаете parentReference для subDrive, используя эту конечную точку:

/ sites / {site-id} / drive / items / {item-id}

...