Как получить общий файл с Microsoft Graph? - PullRequest
0 голосов
/ 18 сентября 2018

Я хочу поделиться файлами из MS OneDrive для пользователя через MS Graph API.И пользователь может просматривать мой общий файл непосредственно по ссылке.Я прочитал документ о создании ссылки для общего доступа для DriveItem и использую этот API для создания ссылки на общий доступ для своих файлов общего доступа.

Интересно, как реализовать API MS graph?Любые предложения и советы приветствуются.Спасибо

1 Ответ

0 голосов
/ 18 сентября 2018

Согласно вашему описанию, я предполагаю, что вы хотите получить общий файл с помощью MS Graph API.

Основываясь на моем тесте, мы можем создать shareLink для этого файла.

Затем мы можем использовать следующие шаги, чтобы получить информацию о файле путем преобразования shareLink.

  1. Кодирование shareLink с использованием следующей логики:

            1)First, use base64 encode the URL.
            2)Convert the base64 encoded result to unpadded base64url format by removing = characters from the end of the value, replacing / with _ and + with -.)
            3)Append u! to be beginning of the string.
    
  2. Если вы хотите получить доступ к общим файлам, вы можете использовать следующий API:

GET /shares/{shareIdOrUrl}/driveItem

Параметр shareIdOrUrl является результатом шага 1.

Этот API вернет всю информацию об общем файле.

Например, для кодирования URL в C #:

string sharingUrl = "https://onedrive.live.com/redir?resid=1231244193912!12&authKey=1201919!12921!1";
string base64Value = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(sharingUrl));
string encodedUrl = "u!" + base64Value.TrimEnd('=').Replace('/','_').Replace('+','-');

Более подробно мы можем обратиться к этому документу.

...