我们正在将内部部署SharePoint安装迁移到SharePoint Online。我们需要转换许多现有的C#Web部件。这些Web部件目前访问我们的一些内部部署数据......我们需要让Web部件在SharePoint Online上运行;但是,我们不确定最好的方法。
我们已经研究过BCS,但它似乎更倾向于通过基本的CRUD方法同步数据列表。对于我们的许多应用程序,我们不打算同步列表,我们更倾向于在服务上采用面向操作的方法,可以根据Web部件的需要按需调用。
我们不相信该呼叫可以是客户端,因为用户通常会从未加入我们域的工作站访问SharePoint Online,并且我们不希望用户必须单独对我们的域进行身份验证服务(即我们希望我们的服务仅信任SharePoint Online后端)。
我们理想的设置是将Web部件的C#代码调用到我们的Web服务(托管在我们的域上,使用SPO安全存储中的服务帐户进行身份验证),从SharePoint上下文传递当前用户名,以及获取Web部件随后可用于处理的响应。
但据我们了解,SharePoint Online中的Web部件是以无法通过HttpWebRequest进行外部HTTPS调用的方式进行沙盒化的。
我们已经搜索了与我们的用例相关的操作示例或文档,并且没有发现任何可能或不可能的内容。有人知道Web部件是否有可能以这种方式获取数据?我们应该采取其他方法来实现这一目标吗?
答案 0 :(得分:2)
在SharePoint Online中,如果您正在开发SharePoint托管应用程序;在清单文件中添加这些端点后,您将能够调用外部端点(EP)。
如果您尚未将这些端点添加到清单文件中,则表示您不允许该应用调用外部EP。
您不需要在线SharePoint中的BCS来呼叫外部EP。以下是使用JavaScript执行此操作的示例。
https://msdn.microsoft.com/en-us/library/office/fp179895.aspx
如果您有任何其他问题,请告诉我。