我正在开发项目,我必须在C#中访问SharePoint数据。
我以前从未这样做过;并有以下问题?
如何从C#访问SharePoint数据?我使用什么API?那里有什么教程可以帮助我开始吗?
答案 0 :(得分:10)
您可以通过两种方式访问Sharepoint数据:
使用Microsoft.Sharepoint.dll 在这种情况下,您需要在同一台机器(Windows服务器)上进行编码。
第二种方法是使用Sharepoint Web Services。 这将允许开发人员在不同的机器上进行开发工作。
答案 1 :(得分:5)
SDK是一个很好的起点。问题的关键在于您是编写将存在于SharePoint环境中的代码,还是编写将在外部应用程序中使用SharePoint数据的代码。
对于前者,SharePoint有自己的API,只需引用相应的DLL即可获得访问权限。
对于后者,SharePoint附带了一组Web服务,允许外部应用程序使用其数据。这些或一组自定义服务(在SharePoint环境中运行)将成为您进入SharePoint的入口点。
答案 2 :(得分:3)
这就是你在PowerShell中的表现,这与你在C#中的表现非常相似:
# Lets reference the assembly / GAC that we need for this
function getUsers
{
param ([string] $verify_sitepath="https://extranet.something.com")
$verify_site=new-object Microsoft.SharePoint.SPSite($verify_sitepath)
$verify_web=$verify_site.Rootweb
$verify_web.site.url
$verify_groups = $verify_web.groups | ? {$_.Name -match "^.*$CurrentGroup" }
foreach($verify_group in $verify_groups)
{
foreach($verify_user in $verify_group.users)
{
$verify_user = $verify_user -replace "WRKGRP\\",""
Write-Output "$verify_user" | Out-File -filepath "$splist$currentGroup.txt" -append
}
}
}
这样做可以从SharePoint中获取文本文件中的所有用户。希望这至少可以让您思考如何设置SharePoint。
一个很好的资源是具有所有功能的MSDN页面。他们在C#中提供了很多编程样本!
答案 3 :(得分:1)
从Sharepoint SDK page开始。下载SDK,并查看MSDN上的示例代码。
稍后添加:根据MS,this是与Sharepoint开发相关的所有内容的更好网站。
答案 4 :(得分:0)
您必须为sharepoint安装VS 2005 or VS 2008 extensions。在xp上使用它们可能会非常棘手,而this page应该让你熟悉它。
答案 5 :(得分:0)
您还应该CAML Query查询来自sharepoint列表的数据
您可以使用这样的工具http://www.u2u.be/Res/Tools/CamlQueryBuilder.aspx
答案 6 :(得分:0)
对我来说,听起来你应该使用Out of The Box SharePoint网络服务。当您只是与Web服务交谈时,没有理由要学习整个SharePoint API。
这个primer on InfoQ很好,但是在SharePoint Web服务上进行搜索,你会发现很多来源