Получение ссылки на файл через Яндекс АПИ

Я программно загружаю файл на Яндекс.Диск через АПИ, используя библиотеку YandexDisk.Client. С помощью него могу получить ссылку на скачивание файла, но не могу получить ссылку на просмотр файла. Есть ли способ получения данной ссылки?

Вот пример кода, который я использую для отправки файла и получения ссылка на скачивание:

string key = "мой_токен";
string folder = "название_папки_на_облаке";
string path = "ссылка_на_файл";

var api = new DiskHttpApi(key);

// Полная ссылка на файл в облаке
string filePath = $@"disk:/" + $"{path}" + "/" + $"{fl}";
 
// Получение ссылки для загрузки файла
var link = await api.Files.GetUploadLinkAsync("disk:/" + path + "/" + $"{outputVideoPath.Split('\\').Last()}", overwrite: true); 

// Загрузка файла на Яндекс.Диск
using (var fs = System.IO.File.OpenRead(Path.Combine(Environment.CurrentDirectory, fl)))
{
    await api.Files.UploadAsync(link, fs);
}

//Получение ссылки на скачивание
var downloadLink = await api.Files.GetDownloadLinkAsync("disk:/" + path + "/" + $"{outputVideoPath.Split('\\').Last()}");


Ответы (1 шт):

Автор решения: aepot

Объект типа Resource содержит ссылку на превью. Его можно получить через GetInfoAsync.

Resource info = await api.MetaInfo.GetInfoAsync(new ResurceRequest { Path = filePath });
string preview = info.Preview;

изменил на info.PublicUrl и получил то что нужно

Тогда значит info.PublicUrl - ваш вариант.

Ссылки на файл не появится, пока файл не будет иметь свойство, что он может быть опубликован, для этого нужно дописать следующее:

Link link = await api.MetaInfo.PublishFolderAsync(path, CancellationToken.None);
→ Ссылка