从 .url 快捷方式文件中获取快捷方式 link
Get the shortcut link from a .url shortcut file
我正在使用此 URL:
查询图表 api
https://graph.microsoft.com/v1.0/sites/{siteID}/drives/{driveID}/root/children
这给了我网络URL
"https://MY DOMAIN.sharepoint.com/sites/{SITE}/{FILENAME}.url
有什么方法可以获取快捷方式项指向的值,而不是下载 .url
文件?
我认为 Get url address from url file 回答了我一半的问题,但是,我无法将 url 的内容作为 File
类型的对象来读取它。
我正在获取每个快速链接并通过 ReadAsStringAsync
将它们添加到列表中
public static async Task<List<QuickLinkViewModel>> GetQuickLinksAsync (dynamic quicklinksJson)
{
List<QuickLinkViewModel> quickLinks = new List<QuickLinkViewModel>();
var quickLink = quicklinksJson.value;
string title;
HttpClient client = new HttpClient();
byte[] reply;
foreach (var q in quickLink)
{
reply = await client.GetByteArrayAsync(q.webUrl);
title = q.name;
title = System.IO.Path.GetFileNameWithoutExtension(title);
quickLinks.Add(new QuickLinkViewModel
{
Title = title,
webUrl = q.webUrl
});
}
return quickLinks;
}
当我 运行 出现此错误时:
The best overloaded method match for
'System.Net.Http.HttpClient.GetByteArrayAsync(string)' has some
invalid arguments
.url
文件不支持在 SharePoint 中预览。所以 Microsoft Graph 的查询结果中的 webUrl 格式与其他文件不同。可以通过这个 webUrl 预览其他文件。 .url
文件将通过 webUrl 直接下载。
下载后用编辑工具打开可以看到快捷项指向的值
.url
文件的内容:
[InternetShortcut]
URL={the value that the shortcut item points to}
更新:
如果您想在代码中获取.url
文件的内容,您需要调用另一个Graph端点:GET /drives/{drive-id}/items/{item-id}/content
。请参阅参考资料 here。使用client.DownloadString
阅读C#中的内容
这里有一个简单的例子(请注意,我这里没有实现授权过程,只是为了方便放Authorization
herder):
我正在使用此 URL:
查询图表 apihttps://graph.microsoft.com/v1.0/sites/{siteID}/drives/{driveID}/root/children
这给了我网络URL
"https://MY DOMAIN.sharepoint.com/sites/{SITE}/{FILENAME}.url
有什么方法可以获取快捷方式项指向的值,而不是下载 .url
文件?
我认为 Get url address from url file 回答了我一半的问题,但是,我无法将 url 的内容作为 File
类型的对象来读取它。
我正在获取每个快速链接并通过 ReadAsStringAsync
public static async Task<List<QuickLinkViewModel>> GetQuickLinksAsync (dynamic quicklinksJson)
{
List<QuickLinkViewModel> quickLinks = new List<QuickLinkViewModel>();
var quickLink = quicklinksJson.value;
string title;
HttpClient client = new HttpClient();
byte[] reply;
foreach (var q in quickLink)
{
reply = await client.GetByteArrayAsync(q.webUrl);
title = q.name;
title = System.IO.Path.GetFileNameWithoutExtension(title);
quickLinks.Add(new QuickLinkViewModel
{
Title = title,
webUrl = q.webUrl
});
}
return quickLinks;
}
当我 运行 出现此错误时:
The best overloaded method match for 'System.Net.Http.HttpClient.GetByteArrayAsync(string)' has some invalid arguments
.url
文件不支持在 SharePoint 中预览。所以 Microsoft Graph 的查询结果中的 webUrl 格式与其他文件不同。可以通过这个 webUrl 预览其他文件。 .url
文件将通过 webUrl 直接下载。
下载后用编辑工具打开可以看到快捷项指向的值
.url
文件的内容:
[InternetShortcut]
URL={the value that the shortcut item points to}
更新:
如果您想在代码中获取.url
文件的内容,您需要调用另一个Graph端点:GET /drives/{drive-id}/items/{item-id}/content
。请参阅参考资料 here。使用client.DownloadString
阅读C#中的内容
这里有一个简单的例子(请注意,我这里没有实现授权过程,只是为了方便放Authorization
herder):