如何使用C#访问sharepoint数据?

时间:2009-11-14 06:42:56

标签: c# .net sharepoint sharepoint-2007 moss

我正在开发项目,我必须在C#中访问SharePoint数据。

我以前从未这样做过;并有以下问题?

如何从C#访问SharePoint数据?我使用什么API?那里有什么教程可以帮助我开始吗?

7 个答案:

答案 0 :(得分:10)

您可以通过两种方式访问​​Sharepoint数据:

  1. 使用Microsoft.Sharepoint.dll 在这种情况下,您需要在同一台机器(Windows服务器)上进行编码。

  2. 第二种方法是使用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服务上进行搜索,你会发现很多来源