如何在另一台服务器上为Sharepoint 2013和Sharepoint Online运行的脚本中通过REST API更新SharePoint列表?

时间:2018-05-25 05:46:18

标签: sharepoint sharepoint-2013 sharepoint-online sharepoint-api

我需要通过按计划运行的脚本远程更新sharepoint列表中的数据。我们目前正在使用sharepoint 2013基金会,但将在6个月左右的时间内转向在线sharepoint。我想知道如何通过REST api为2013年的在线版本和在线版本做到这一点。我很难绕过所有不同的auth模型,sharepoint产品,可用api,框架等,当阅读MSDN上的文档时,我无法确定哪个版本的sharepoint等与哪个相关..无论如何,到目前为止我思考或2013年的前台共享点我应该使用高信任证书auth选项,以便我的脚本通过证书进行身份验证。我是否需要为脚本创建一个加载项以将其注册为可与其他API通信的应用程序?我不确定的原因是sharepoint本身从来没有真正调用我的脚本,而不是webpart或页面或者在sharepoint上显示的antyhing因此有点丢失。

至于如何将数据推送到sharepoint在线列表,我假设我必须将脚本注册为提供者托管加载项并通过Azure ACS服务器使用OAuth2进行身份验证。

这听起来像是实现目标的最好方法吗?我是在正确的轨道上还是他们的eaiser选项?反正我是否可以在脚本中使用Active Directory用户帐户来进行经过身份验证的请求,而不必创建证书信任和创建插件等?

更新

关于我正在尝试做什么的更多信息... 想要启动的项目Id将是一个Node或PHP脚本,它在单独的服务器上运行并从第三方源获取数据,对其进行计算,然后将结果推送到某些Sharepoint列表中。然后每晚按计划运行此程序,以使Sharepoint列表保持最新。除了开始使用Sharepoint之外,我知道如何做所有事情;如何基本建立连接和认证。

要做的就是从Node或PHP访问REST apis以获取列表和库,这显然是在Sharepoint外部运行的。我真的不明白如何开始。我的理解是有Sharepoint托管应用程序(可以访问SP apis的客户端javascript)和提供者托管应用程序(实际上是另一个Web应用程序的iFrame)。所以,我正在寻找托管的提供商,但提供商托管的应用程序只在调用时运行?他们是否需要在iframe中显示前端?我的项目只需要在一夜之间将数据推送到列表中。所以我需要将项目注册为提供商托管应用程序?或者我该如何开始?然后我开始相信应用模型是2013年的Sharepoint编程方式,新的2016 /在线方式是Sharepoint框架(SPFX)。但是,我看到的唯一例子是客户端应用程序。第二个项目ID就是创建一个客户端应用程序,它将从项目1中获取列表中的数据,并以某种方式动态地使用react显示。所以我很清楚知道从哪个项目2开始,直接开发一个使用SPFX的客户端反应应用程序。但是我完全坚持开始项目1.我从哪里开始项目1?我有什么选择?

1 个答案:

答案 0 :(得分:0)

据我了解您的问题,您需要从计划表更新您的预览列表,之后您将在线更新您的sharepoint列表。

我们可以创建提供商托管的应用程序,通过配置,您可以轻松切换目的地。 或者你可以想出新的方法来做到这一点。您可以使用Node JS计时器服务,该服务会在以后插入您的onign rest api,相同的代码将在线工作,您只需要更改目的地。

Currenlty我们也在使用Node。下面是在nodejs中创建计时器的简单代码。

做什么,它从文件和电子邮件中读取信息到用户。它只是一个简单的代码,可以用来插入SP列表usign rest api。 https://github.com/halfice/Node-JS-Timer-SharePoint/blob/master/app.js

此外,如果你能分享你想做的事情,那就更清楚了