所以在我的共享点站点内容页面中,我有一个应用程序。谁能告诉我如何获取它的实例ID。这样我就可以调用链接:
http://testingwebcompany.sharepoint.com/_layouts/15/appredirect.aspx?instance_id= { <>}
当我搜索 ClientContext.Web.Lists 时,我似乎无法得到它。
谢谢
所以在我的共享点站点内容页面中,我有一个应用程序。谁能告诉我如何获取它的实例ID。这样我就可以调用链接:
http://testingwebcompany.sharepoint.com/_layouts/15/appredirect.aspx?instance_id= { <>}
当我搜索 ClientContext.Web.Lists 时,我似乎无法得到它。
谢谢
我明白了,似乎实例 id 是自动生成的。应用程序的真实 URL 位于循环通过 ClientContext.Web.Webs[].Title == "Application Name" 然后检索 ClientContext.Web.Webs[].Url 时。
以下示例演示如何通过标题检索 App
public static class WebExtensions
{
public static IEnumerable<AppInstance> GetAppInstanceByTitle(this Web web,string appTitle)
{
var ctx = web.Context;
var apps = AppCatalog.GetAppInstances(ctx, web);
var result = ctx.LoadQuery(apps.Where(a => a.Title == appTitle));
return result;
}
}
用法
using (var ctx = new ClientContext(webUri))
{
var appTitle = "\"Napa\" Office 365 Development Tools";
var result = ctx.Web.GetAppInstanceByTitle(appTitle);
ctx.ExecuteQuery();
var app = result.FirstOrDefault();
if (app != null) Console.WriteLine(app.Id); // print App Instance Id
}