Sharepoint 2013 SharePoint提供商托管的应用程序-识别客户

Sharepoint 2013 SharePoint提供商托管的应用程序-识别客户,sharepoint-2013,office365,sharepoint-online,sharepoint-apps,Sharepoint 2013,Office365,Sharepoint Online,Sharepoint Apps,如果我为Office 365构建提供商托管的应用程序,如何识别客户及其环境 我的意思是:该应用程序将是免费的市场,但将有一个应用程序上购买订阅。让我们假设以下场景:如果客户购买订阅,他可以在我的应用程序中执行10项任务。如果他接受免费订阅,他可以完成一项任务 客户应该能够在多个站点上安装应用程序,并且该应用程序可以被任意数量的用户访问。但是,我需要以这样的方式识别客户:如果客户在另一个网站上安装应用程序,他购买的订阅将适用于他 如果应用程序首先安装在一个站点上,客户随后会执行3项任务,如果他在另

如果我为Office 365构建提供商托管的应用程序,如何识别客户及其环境

我的意思是:该应用程序将是免费的市场,但将有一个应用程序上购买订阅。让我们假设以下场景:如果客户购买订阅,他可以在我的应用程序中执行10项任务。如果他接受免费订阅,他可以完成一项任务

客户应该能够在多个站点上安装应用程序,并且该应用程序可以被任意数量的用户访问。但是,我需要以这样的方式识别客户:如果客户在另一个网站上安装应用程序,他购买的订阅将适用于他

如果应用程序首先安装在一个站点上,客户随后会执行3项任务,如果他在另一个站点上安装应用程序,他可以执行剩下的7项任务(共10项)。因此,应用程序基本上应该在office 365中识别客户及其环境/租户


在内部部署中,使用SPFarm.Id很容易,但是如何在Office 365中识别用户及其租户?

好的,我已经解决了。
TenantId
对于每个Office 365实例以及内部部署都是唯一的

如果有人感兴趣。下面是获取租户id的一段代码:

 SharePointContext spContext = SharePointContextProvider.Current.GetSharePointContext(HttpContext);

 Uri sharepointUrl = new Uri(spContext.SPHostUrl.AbsoluteUri.ToString());

 string tId = TokenHelper.GetRealmFromTargetUrl(sharepointUrl).ToString();
就这样

微软的Vesa Juvonen为我们提供了正确的方向