SharePoint - 通过VBScript自动发布和检索文件

时间:2009-05-06 15:20:50

标签: sharepoint file upload automation download

我将需要从不是由我公司托管的SharePoint网站推送和提取文件(它是外部的)。我只会花几天时间(如果那样)来完成这项工作,所以我没有太多时间进行实验。

为了增加我的要求/头痛,我要必须用VBScript 来实现它。 .Net对我来说是首选但是由于我无法控制的原因,我必须使用VBScript。我没有直接访问我的VBScript Web服务器,所以我无法在.NET中实现它并从VBScript中使用该对象。

我正在寻找能够帮助我快速有效地实现这一目标的任何事情。我发现这篇文章,我想知道这里使用的PUT / GET方法是否对我有用?

http://weblogs.asp.net/bsimser/archive/2004/06/06/149673.aspx(我从Sharepoint API - How to Upload files to Sharepoint Doc Library from ASP.NET Web Application)获得此链接

最重要的是,我从未对SharePoint网站进行过任何编程或管理。我对SharePoint的了解是用户的知识。我知道有一些来自我所做的Google搜索的API。但是,我的读数让我相信我的代码需要在SharePoint服务器上或附近运行。我不相信我需要使用API​​。

真诚的谢谢你!

的问候,
弗兰克

进度更新:我还在研究这个问题。 Tom指出我发布的示例可能来自旧的SharePoint版本。他建议使用.Net在Web服务上开发原型是好的,但我希望得到更详细的答案。

我现在想知道我是否可以使用HTTP PUT和GET完成我需要完成的任务。在我的公司,对于一个特定的项目,我们使用HTTP PUT和GET来做这样的事情。我们有存储在HTTP服务器上的文件,这就是我们发布和检索它们的方式。

这是否适用于SharePoint或SharePoint是否需要特殊处理?基本上,我 是否要使用Web服务?

进度更新2 :此链接很有用...... Upload a file to SharePoint through the built-in web services

但我仍在寻找有关此主题的更多信息......谢谢所有......

5 个答案:

答案 0 :(得分:1)

您需要使用sharepoint list web服务获取元数据并使用get / put进行上传。该链接看起来适用于SharePoint 2001,因此希望您可以使用更新/更简单的版本。

我建议首先在.net中构建一些东西以使Web服务调用得以解决 - 一些参数调试非常棘手,我不希望在远程vbscript页面上这样做。

假设不需要元数据并且SharePoint库像文件服务器一样使用,您可以使用PUT / GET完成大部分工作,但是您可能需要调用GetListItems来查找要下载的URL。 / p>

我的博客上有一个关于该网络服务较低级别调用的示例 - 它是javascript,但可能足够接近。

http://tqcblog.com/2007/09/24/sharepoint-blog-content-rating-with-javascript-and-web-services

.net版本设置的内容可以非常快速地建立与服务器的连接(只需在visual studio中添加一个Web服务引用),这样您就可以使查询和查询选项字符串工作以检索您想要的项目。一旦它起作用你就必须将它们全部放在一起作为一个字符串,包括使用肥皂的东西,而没有所有漂亮的工具。

答案 1 :(得分:0)

我对实现的上下文和必须使用VBScript的先决条件有点不清楚。文件是从一台服务器移动到另一台服务器还是从用户桌面移动到此SP服务器?或者是否通过Excel等软件访问它们?

我想到的第一件事(这可能听起来很疯狂)是使用Office应用程序进行连接。您的脚本将调用Excel(仅作为示例)并将其传递给启动打开文件所需的vba,然后提供需要检索的文件的完整路径。然后让它执行另存为需要该文件的位置。执行相同的操作,但反过来将文件放在SharePoint服务器上。

显然,棘手的部分是让脚本与Office应用程序连接。我知道这可以通过Windows的PHP版本完成,但我不想在不了解您的情况的情况下进行任何具体的工作。

答案 2 :(得分:0)

我真的很想知道您是否能够使用VBScript来调用SharePoint Web服务。我暂时没有看过SharePoint Web服务,所以我不记得它们是如何定义的。我认为Web服务是SOAP调用,但这使得它比

更棘手

我不确定我是否尝试使用Excel来调用MSSOAP.SoapClient的某些Web服务,并且看起来这个组件无法处理超出简单字符串的任何WSDL类型。任何嵌套数据都无法正常工作。相反,您需要创建一个COM对象来处理转换,这是一个主要的麻烦。如果您能够使用XMLHTTP组件,则可能使用VBScript,但我不确定它是否适用于SharePoint Web服务。

我不确定你的意思,“我无法直接访问我的 VBScript 网络服务器。”您的Web服务器是否在VBScript(ASP)中?或者你的意思是SharePoint服务器?

您可以将C# Script(cs-script)视为使用.NET的脚本解决方案。虽然它确实需要安装在运行脚本的计算机上,但我已经取得了很大的成功。

答案 3 :(得分:0)

我正在两家公司之间进行整合。根据{{​​3}},我们应该使用this book来完成我正在寻找的东西。

我仍然没有实际工作,但如果有人有更多信息,我会改变这个问题的答案。

AD FS

答案 4 :(得分:0)

我从来没有真正得到过这个问题的答案,但这不再是我的问题。

我们最终做的是抓取HTML。实际上,我们将自己的ad-hoc Web服务处理器放在一起,而不是SOAP,html用于通信。然后我们执行GET,POST等,以使用Web服务。

我们在VBScript中为WebDAV做了类似的事情 - 我们有一个类并创建了一个与SharePoint一起使用的新类。