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



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

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

客户应该能够在许多网站上安装应用程序,应用程序可以由任何数量的用户访问。然而,我需要以这样一种方式识别客户,如果他在另一个网站上安装应用程序,他购买的订阅将适用于他。

如果应用程序首先安装在一个网站上,其中客户完成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给出了正确的方向

相关内容

  • 没有找到相关文章

最新更新