2
我試圖從Sharepoint服務器(通過python/suds)拉列表項目,並且對GetListItems進行查詢有一些困難。如果我除了列表Name之外不向GetListItems提供其他參數,它將返回該列表的默認視圖中的所有項目。我想查詢要返回的特定項目集(ID = 15)以及要爲這些項目返回的特定字段集合(日期和說明)。這裏是我的SOAP包:Python SOAP到MS Web服務(SharePoint)(GetListItems)
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope "xmlns:ns1="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<ns0:Body>
<ns1:GetListItems>
<ns1:listName>MyCalendar</ns1:listName>
<query>
<Where>
<Eq>
<FieldRef Name="_ows_ID">15</FieldRef>
</Eq>
</Where>
</query>
<viewFields>
<FieldRef Name="Description"/>
<FieldRef Name="EventDate"/>
</viewFields>
</ns1:GetListItems>
</ns0:Body>
</SOAP-ENV:Envelope>
這似乎符合WSDL,然而,使得查詢時,我回來了所有字段的項目的完整列表(如果我沒有通過任何查詢XML在所有)。
SOAP noob的任何建議?
而且,這裏是產生這個XML我的Python代碼:
query = Element('query')
where = Element('Where')
eq = Element('Eq')
eq.append(Element('FieldRef').append(Attribute('Name', '_ows_ID')).setText('15'))
where.append(eq)
query.append(where)
viewFields = Element('viewFields')
viewFields.append(Element('FieldRef').append(Attribute('Name','Description')))
viewFields.append(Element('FieldRef').append(Attribute('Name','EventDate')))
results = c_lists.service.GetListItems('MyCalendar', None, query, viewFields, None, None)
任何幫助將不勝感激!
下面是其他職位與代碼的鏈接。 http://stackoverflow.com/questions/3449039/sharepoint-filter-for-list-itemsgetlistitems – user1209675 2016-06-03 17:40:04