使用客户端对象模型获取已安装应用的列表

时间:2013-06-14 22:46:40

标签: sharepoint sharepoint-2013 sharepoint-api sharepoint-clientobject sharepoint-apps

我一直在努力寻找任何示例资源,该资源解释了如何使用客户端对象模型在SharePoint 2013环境中获取已安装应用的列表。到目前为止,我一无所获。

如果您碰巧知道任何解释,请与您分享一些链接:

  1. 如何使用SP2013托管客户端对象模型获取SharePoint 2013网站中安装的应用列表。

  2. 如何使用WCF或REST服务获取SharePoint 2013 Web中安装的应用程序列表。 - 我真的想知道如何做到这一点,因为我需要在SP 2010中创建一个列出我们的SP 2013 Office 365环境中安装的应用程序的WebPart。

3 个答案:

答案 0 :(得分:3)

你可以从这里得到它们:

https://<your_site_collection>/_api/web/AppTiles?$filter=AppType eq 3

这是REST服务..

我相信正确的Managed CSOM类是

Microsoft.SharePoint.Client.AppTileCollection 

发现在..

https://msdn.microsoft.com/en-us/Library/microsoft.sharepoint.client.apptilecollection.aspx

答案 1 :(得分:2)

在SharePoint 2013 / Online CSOM API AppCatalog class中提供用于发现已安装应用程序的查询功能,特别是AppCatalog.GetAppInstances method检索已安装的应用程序实例。

示例

using (var ctx = ClientContext(webUri))
{
    var apps = AppCatalog.GetAppInstances(ctx, ctx.Web);
    ctx.Load(apps);
    ctx.ExecuteQuery();

    //print info
    foreach (var app in apps)
    {
        Console.WriteLine("Name: {0},InstanceId: {1},Status: {2}", app.Title,app.Id, app.Status);
     }
}

答案 2 :(得分:0)

我只了解SharePoint Online 2013,但为此,这些应用程序列在特殊的SharePoint网站中:

https://<tenancyname>.sharepoint.com/sites/AppCatalog

您应该能够使用CSOM或REST连接到那里的列表。

不确定是否可以回答您的问题,但也许可以提供一些指示?