SharePoint 2007 是否有任何可用的客户端 SDK

本文关键字:客户端 SDK 任何可 2007 是否 SharePoint | 更新日期: 2023-09-27 18:35:24

我们有一个SharePoint服务器2007,我们试图使用c#.net代码在SharePoint中输入一些条目。我开始知道我们可以使用 SharePoint 客户端 SDK 组件。但是我没有找到2007版SharePoint的SDK。

是否可以使用 SharePoint 2013 客户端 SDK 组件访问 SharePoint 2007 网站并执行所有获取或更新操作?

SharePoint 2007 是否有任何可用的客户端 SDK

我不知道 2013 SDK 是否可以用于 2007 实例,但我知道 SharePoint 2007 SDK 在这里可用。

由于 SharePoint Client

Components SDK 由客户端对象模型 (CSOM) DLL 的集合组成,并且 SharePoint 2007 不支持 CSOM,因此没有 SharePoint Client SDK for 2007 版本的版本。

但是,您可以利用 SharePoint 2007 Web Services 来实现此目的,下面的示例演示如何使用 SharePoint Web Services 创建列表项:

using System;
using System.Collections.Generic;
using System.Net;
using System.Xml;
namespace SharePoint.Client
{
    public class ListsClient : IDisposable
    {
        public ListsClient(Uri webUri, ICredentials credentials)
        {
            _client = new Lists.Lists();
            _client.Credentials = credentials;
            _client.Url = webUri + "/_vti_bin/Lists.asmx";
        }
        public ListsClient(Uri webUri)
        {
            _client = new Lists.Lists();
            _client.Url = webUri + "/_vti_bin/Lists.asmx";
        }

        /// <summary>
        /// Create a List Item 
        /// </summary>
        /// <param name="listName">List Name</param>
        /// <param name="propertyValues">List Item properties</param>
        /// <returns></returns>
        public XmlNode CreateListItem(string listName,Dictionary<string,string> propertyValues)
        {
            var payload = new XmlDocument();
            var updates = payload.CreateElement("Batch");
            updates.SetAttribute("OnError", "Continue");
            var method = payload.CreateElement("Method");
            method.SetAttribute("ID", "1");
            method.SetAttribute("Cmd", "New");
            foreach (var propertyValue in propertyValues)
            {
                var field = payload.CreateElement("Field");
                field.SetAttribute("Name", propertyValue.Key);
                field.InnerText = propertyValue.Value;
                method.AppendChild(field);
            }
            updates.AppendChild(method);
            return _client.UpdateListItems(listName, updates);
        }

        public void Dispose()
        {
            _client.Dispose();
            GC.SuppressFinalize(this);
        }

        protected Lists.Lists _client;  //SharePoint Web Services Lists proxy
    }
}

用法

如何创建任务项:

using (var client = new SPOListsClient(webUrl, userName, password))
{
    var taskProperties = new Dictionary<string, string>();
    taskProperties["Title"] = "Order approval";
    taskProperties["Priority"] = "(2) Normal";
    var result = client.CreateListItem(listTitle, taskProperties);    
}

引用

  • SharePoint 2007 Web Services
  • Lists.UpdateListItems 方法