我正在尝试使用带有REST API的SharePoint 2013在现有列表中添加新项.
这里有相当好的文档:http://msdn.microsoft.com/en-us/library/jj164022(office.15).aspx#ListItems
我试图添加项目的列表称为"资源",因此我执行以下http POST操作来添加新项:
POST https://<site>/apps/reserve/_api/lists/getbytitle('Resources')/items
X-RequestDigest: <digest_key>
Content-Type: application/json;odata=verbose
{
"__metadata": {"type": "SP.Data.ResourcesListItem"},
"Title": "New Title",
"Description": "New Description",
"Location": "Sunnyvale"
}
Run Code Online (Sandbox Code Playgroud)
但是我收到了以下错误:
A type named 'SP.Data.ResourcesListItem' could not be resolved by the model.
When a model is available, each type name must resolve to a valid type.
Run Code Online (Sandbox Code Playgroud)
所以我假设我没有资源名称的正确名称.在文档中,它说:
To do this operation, you must know the ListItemEntityTypeFullName property of the list
and pass that as the value of type in the HTTP request …Run Code Online (Sandbox Code Playgroud) 我正在使用javascript REST Api开发SharePoint 2013 Provider托管应用程序.为了对sharepoint项执行创建(POST)或更新(MERGE)操作,我需要使用请求设置"X-RequestDigest"标头.
在SharePoint托管的应用程序中,我能够使用http://contoso.sharepoint.com/SharePointHostedApp/_api/contextinfo服务来检索请求摘要值; 但是,在提供商托管的应用程序中,我无法获得该值.
提供商托管应用程序的第一个区别是,现在我们需要发出跨域请求,因为我们不是在sharepoint站点中运行,而是在不同服务器上托管的不同域中运行.要明确:而不是
$.ajax({
url: appWebUrl + '/_api/contextinfo',
method: "POST",
headers: { "Accept": "application/json; odata=verbose" }
})
Run Code Online (Sandbox Code Playgroud)
我假设我们需要使用它SP.RequestExecutor来执行跨域请求.当我构造请求时,它看起来如下(我已经将实际的url更改为假的,但基本上我们告诉代理使用主机web有目标并获取/_api/contextinfo端点):
https://contoso-6f921c6addc19f.sharepoint.com/ProviderHostedApp/_api/SP.AppContextSite(@target)/contextinfo?@target=%27https://contoso.sharepoint.com%27
但是,我收到此错误:Cannot find resource for the request contextinfo.意味着端点不存在.
我确保使用application/json;odata=verbose带有空体的正确标头的POST方法.
如何从/_api/contextinfo服务获取请求摘要值到提供者托管应用程序?
根据我研究的内容:
$('#__REQUESTDIGEST').val(); 因为提供商托管的应用程序无法使用它.必须有某种方法来获取此值,否则我们将仅限于使用JavaScript时的读取操作.还有其他人用javascript解决了这个问题吗?
从技术上讲,我可以尝试使用服务器上的CSOM实现所需的服务,并使用WebAPI或WCF公开它们,但必须实现它似乎是不合理的.
更新:
我继续尝试添加一个WebAPI控制器,该控制器公开一个检索请求摘要值的服务.这实际上确实检索了请求摘要值; 但是,当尝试在未来调用的标头中使用它时,我收到错误:"The security validation for this page is invalid and might be corrupted. Please use your web browser's Back button to try your …
开发人员在使用SharePoint时遇到了很多挫败感,但我们都希望微软一直在倾听.考虑到这一点...
哪些更新和新功能让开发人员兴奋地使用WSS 4.0和SharePoint Server 2010?
每个功能都有一个答案,所以社区可以对每个功能进行投票.
sharepoint sharepoint-api sharepoint-2010 sharepointfoundation2010
我从CXF调用lists.asmx webservice .以下soap调用不会返回列表子文件夹中的文件.它返回folder1,folder2和file1.pdf
Shared Documents
folder1
file2.docx
file3.pdf
folder2
sub-folder1
file5.pdf
file4.pdf
file1.pdf
Run Code Online (Sandbox Code Playgroud)
SOAP调用
POST /_vti_bin/lists.asmx HTTP/1.1 Accept-Encoding: gzip,deflate
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:soap1="http://schemas.microsoft.com/sharepoint/soap/">
<soap:Header/>
<soap:Body>
<soap1:GetListItems>
<soap1:listName>Shared Documents</soap1:listName>
<queryOptions>
<QueryOptions>
<IncludeMandatoryColumns>TRUE</IncludeMandatoryColumns>
<ViewAttributes Scope="RecursiveAll"/>
<DateInUtc>TRUE</DateInUtc>
</QueryOptions>
</queryOptions>
</soap1:GetListItems>
</soap:Body>
</soap:Envelope>
Run Code Online (Sandbox Code Playgroud)
有关如何从结果中包含的folder1,folder3和sub-folder1中获取文件的任何线索?如果列表Web服务无法做到,是否有替代服务/方法?
附加信息:
还有另一个Web服务,SiteData (_vti_bin/sitedata.asmx).它有一个类似的方法(getListItems)并返回所有文件只有列表名称而没有其他参数.问题是我无法弄清楚如何/在何处指定Paging参数,因为列表中没有任何queryOptions输入元素网络服务.
<soap1:strListName>?</soap1:strListName>
<soap1:strQuery>?</soap1:strQuery>
<soap1:strViewFields>?</soap1:strViewFields>
<soap1:uRowLimit>?</soap1:uRowLimit>
Run Code Online (Sandbox Code Playgroud) 能够检查"Requires Checkout"标志也是有用的.我认为它可能是SPDocumentLibrary对象上的属性,但我看不到它.
我是否需要查看其中一个管理员命名空间...?
我想知道sharepoint服务器是否有java api.
非常感谢
编辑:
什么是最简单的方法凑提取SharePoint列表的数据到一个单独的SQL Server表?一个条件:您处于不控制SharePoint Server背后的SQL Server的工作环境中,因此您不能只从UserData表中提取.
有没有可用于安排夜间提取物的实用程序?
Microsoft是否计划对"SharePoint 4"进行任何改进?
更新2009年1月6日:
http ://connectionstrings.com/sharepoint
对于未安装office的服务器,您需要:
此下载
我有几个文档库只是标准库 - 没有相关的自定义内容类型或任何东西.我正在尝试向他们添加子文件夹,在某些情况下它只是不起作用.
SPFolder parent = library.RootFolder;
SPFolder child = parent.SubFolders.Add(subfoldername);
parent.Update();
bool exists = child.Exists; // This is false
Run Code Online (Sandbox Code Playgroud)
当我尝试添加一个名为M1 Spectrum CRC w-out CMN67 E02_filesvia code 的子文件夹时,它无法添加该文件夹,即使该Add方法似乎成功执行.当我尝试通过标准的基于浏览器的SharePoint列表UI添加这个确切名称的文件夹时,我成功地添加了一个文件夹,但它有一个不同的名称:
M1 Spectrum CRC w-out CMN67 E02_files_
请注意SharePoint创建的文件夹中的尾随下划线.这是一个合法的Windows文件夹名称,它不包含任何不友好的HTML字符.那么,这有什么用呢?我错过了一些明显的东西吗
我想将SharePoint数据用于非.Net平台.为此,我已经使用了像Lists.asmx,Webs.asmx和search.asmx这样的SharePoint OOTB服务.我已使用Authentication.asmx成功添加了对基于表单的身份验证的支持.现在,我想在线提供对Office 365 SharePoint的支持.为此,我有一个我正在研究的SharePoint Online网站演示.问题,我面临的是当我使用Authentication.asmx的Mode方法时,我得到'Forms'作为回应:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<ModeResponse xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<ModeResult>Forms</ModeResult>
</ModeResponse>
</soap:Body>
</soap:Envelope>
Run Code Online (Sandbox Code Playgroud)
但是,当我使用Login.asmx并传递正确的用户名和密码时,我收到'PasswordNotMatch'错误,相同的凭据在浏览器中正常工作.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<LoginResponse xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<LoginResult>
<ErrorCode>PasswordNotMatch</ErrorCode>
<TimeoutSeconds>0</TimeoutSeconds>
</LoginResult>
</LoginResponse>
</soap:Body>
</soap:Envelope>
Run Code Online (Sandbox Code Playgroud)
注意: - 这适用于FBA非Office 365 SharePoint站点.
有人可以帮我实现对Office 365 SharePoint Online OOTB服务的支持吗?
sharepoint web-services sharepoint-api sharepoint-2010 office365
是否有一种简单的方法可以使用对 REST API的cURL请求来访问我的 Sharepoint 帐户上的文件?例如
curl -i -H "Authorization: Bearer <some-key-here>" https://mysharepoint.com/_api/web/Lists
Run Code Online (Sandbox Code Playgroud)
我已阅读有关应用程序身份验证和授权的所有文档,但在这种情况下,我没有可以注册的“应用程序”。我只需要在 REST 请求中使用某种 API 密钥。如何以这种方式使用 REST API?
我很感激对此问题的任何见解。
sharepoint-api ×10
sharepoint ×9
rest ×2
web-services ×2
curl ×1
etl ×1
java-api ×1
ms-office ×1
office365 ×1