Freigeben über


Lists.GetListItemChangesSinceToken-Methode

Gibt Änderungen an der Liste seit dem Datum und Uhrzeit im Token angegeben.

Namespace:  WebSvcLists
Assembly:  STSSOAP (in STSSOAP.dll)

Syntax

'Declaration
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sharepoint/soap/GetListItemChangesSinceToken", RequestNamespace := "https://schemas.microsoft.com/sharepoint/soap/",  _
    ResponseNamespace := "https://schemas.microsoft.com/sharepoint/soap/",  _
    Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
Public Function GetListItemChangesSinceToken ( _
    listName As String, _
    viewName As String, _
    query As XmlNode, _
    viewFields As XmlNode, _
    rowLimit As String, _
    queryOptions As XmlNode, _
    changeToken As String, _
    contains As XmlNode _
) As XmlNode
'Usage
Dim instance As Lists
Dim listName As String
Dim viewName As String
Dim query As XmlNode
Dim viewFields As XmlNode
Dim rowLimit As String
Dim queryOptions As XmlNode
Dim changeToken As String
Dim contains As XmlNode
Dim returnValue As XmlNode

returnValue = instance.GetListItemChangesSinceToken(listName, _
    viewName, query, viewFields, rowLimit, _
    queryOptions, changeToken, contains)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sharepoint/soap/GetListItemChangesSinceToken", RequestNamespace = "https://schemas.microsoft.com/sharepoint/soap/", 
    ResponseNamespace = "https://schemas.microsoft.com/sharepoint/soap/", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
public XmlNode GetListItemChangesSinceToken(
    string listName,
    string viewName,
    XmlNode query,
    XmlNode viewFields,
    string rowLimit,
    XmlNode queryOptions,
    string changeToken,
    XmlNode contains
)

Parameter

  • listName
    Typ: System.String

    Eine Zeichenfolge, die den Titel oder die GUID für die Liste enthält. Beim Abfragen der UserInfo-Tabelle enthält die Zeichenfolge UserInfo. Verwenden die GUID-Ergebnisse in eine bessere Leistung.

  • viewName
    Typ: System.String

    Eine Zeichenfolge mit der GUID für die Ansicht die Ansicht, mit der für die durch den Parameter query, viewFieldsund rowLimit dargestellte Ansicht Standardattribute bestimmt. Wenn dieses Argument nicht angegeben wird, wird davon ausgegangen, dass die Standardansicht. Wenn es angegeben wird, überschreibt den Wert des Parameters query, viewFieldsoder rowLimit die entsprechende Einstellung in der Ansicht. Beispielsweise werden Wenn vom viewFields -Parameter angegebene Ansicht eine Zeile Grenze von 100 Zeilen, aber der Parameter rowLimit 1000 enthält, klicken Sie dann 1.000 Zeilen in der Antwort zurückgegeben.

  • query
    Typ: System.Xml.XmlNode

    Eine Query -Element mit der Abfrage, der bestimmt, welche Datensätze zurückgegeben und in Was sind Reihenfolge und, kann ein System.Xml.XmlNode -Objekt, wie im folgenden Beispiel zugewiesen werden.

  • viewFields
    Typ: System.Xml.XmlNode

    Ein ViewFields -Element, das gibt an, welche Felder in der Abfrage und in welcher Reihenfolge zurückgegeben und ein System.Xml.XmlNode -Objekt, wie im folgenden Beispiel zugewiesen werden können.

  • rowLimit
    Typ: System.String

    Eine Zeichenfolge, die Anzahl der Elemente oder Zeilen, die auf einer Seite angezeigt werden soll, vor Beginn der Auslagerungsdatei angibt. Wenn angegeben, überschreibt den Wert dieses Parameters den Grenzwert der Zeile in der durch den viewName -Parameter angegebenen Ansicht oder den Grenzwert der Zeile in der Standardansicht für die Liste.

  • queryOptions
    Typ: System.Xml.XmlNode

    Ein XML-Fragment in der folgenden Form, das separate Knoten für die verschiedenen Eigenschaften des SPQuery -Objekts enthält, und ein System.Xml.XmlNode -Objekt zugewiesen werden können.

  • contains
    Typ: System.Xml.XmlNode

    Ein Contains -Element, die benutzerdefinierte Filterung für die Abfrage definiert und ein System.Xml.XmlNode -Objekt, wie im folgenden Beispiel zugewiesen werden können.

Rückgabewert

Typ: System.Xml.XmlNode
Ein XML-Fragment in der folgenden Form, die die letzte zurückgibt und der Element-Änderungen ändern und ein System.Xml.XmlNode -Objekt zugewiesen werden können:

<listitems MinTimeBetweenSyncs="0" RecommendedTimeBetweenSyncs="180" MaxBulkDocumentSyncSize="500" 
   AlternateUrls="http://MyServer/,http://zinzinzin/" EffectivePermMask="FullMask" 
   xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" 
   xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" 
   xmlns="https://schemas.microsoft.com/sharepoint/soap/">
   <Changes LastChangeToken="1;3;b0c07dce-e4c7-45a9-8b7f-0d5339f69633;633247934080930000;70853">
   </Changes>
   <rs:data ItemCount="2">
      <z:row ows_Attachments="0" ows_LinkTitle="MyItem1" ows_MetaInfo="3;#" ows__ModerationStatus="0" 
         ows__Level="1" ows_Title="MyItem1" ows_ID="3" ows_owshiddenversion="2" 
         ows_UniqueId="3;#{9153FDD3-7C00-47E9-9194-956BB20AAA8D}" ows_FSObjType="3;#0" 
         ows_Created_x0020_Date="3;#2007-08-31T21:34:59Z" ows_Created="2007-08-31T21:34:59Z" 
         ows_FileLeafRef="3;#3_.000" ows_FileRef="3;#sites/MyWebSite/Lists/MyList/3_.000" 
         ows_ServerRedirected="0" />
      <z:row ows_Attachments="0" ows_LinkTitle="MyItem2" ows_MetaInfo="5;#" ows__ModerationStatus="0" 
         ows__Level="1" ows_Title="MyItem2" ows_ID="5" ows_owshiddenversion="3" 
         ows_UniqueId="5;#{5BDBB1C0-194D-4878-B716-E397B0C1318C}" ows_FSObjType="5;#0" 
         ows_Created_x0020_Date="5;#2007-08-31T21:43:23Z" ows_Created="2007-08-31T21:43:23Z" 
         ows_FileLeafRef="5;#5_.000" ows_FileRef="5;#sites/MyWebSite/Lists/MyList/5_.000" 
         ows_ServerRedirected="0" />
         ...
   </rs:data>
</listitems>

Hinweise

In der folgenden Tabelle sind die Rückgabeparameter beschrieben.

Eigenschaft

Definition

MinTimeBetweenSyncs

Die minimale Zeitspanne zwischen vom Benutzer initiierte oder automatische Synchronisierung darstellt. Der Wert stellt eine Zeit in Minuten.

Hinweis

Clients sind dieser Wert einzuhalten, selbst wenn der Benutzer die Synchronisierung manuell initiiert. D. h., wenn dies auf 5 Minuten festgelegt ist, sollte nur eine Anforderung pro 5 Minuten senden Clients, auch wenn der Benutzer wiederholt klickt "Senden/Empfangen".

RecommendedTimeBetweenSyncs

Die empfohlene Mindest-Zeit zwischen Synchronisierungen darstellt. Dies sollte speziell für automatische Synchronisierungen eingehalten werden. Clients sollten niemals automatisch häufiger als dieser synchronisieren. Vom Benutzer initiierte Synchronisierungen können dieses Intervall außer Kraft setzen.

MaxBulkDocumentSyncSize

Die Gesamtgröße der Inhalte an den Client synchronisiert werden. Der Standardwert beträgt 500 MB. Sie erhalten die URL und die Metadaten für jedes Dokument, wenn Sie rufen Sie GetListItemChangesSinceToken, aber Sie eine HTTP GET, um den Inhalt des aktuellen Dokuments abrufen müssen. Wenn dieser Wert auf hohe kann zu Leistungseinbußen führen.

AlternateUrls

Alternative URLs werden in der folgenden Zonenreihenfolge, durch Kommas getrennt, aufgeführt: Intranet, Standard, Extranet, Internet, Benutzerdefiniert

EffectiveBasePermissions

Die Berechtigungen für die Liste von SPList.EffectiveBasePermissions.ToString()zurückgegeben.

Beispiele

Im folgenden Codebeispiel wird mithilfe die GetListItemChangesSinceToken -Methode an das aktuelle Änderungstoken, das sich jeweils nach späteren Aktualisierungen zu einer Liste ergibt.

Dim listService As New Web_Reference_Folder.Lists()
listService.Credentials = System.Net.CredentialCache.DefaultCredentials
listService.Url = "http://MyServer/MyWebSite/_vti_bin/Lists.asmx"

Dim getListName As XmlNode = listService.GetList("MyCalendar")
Dim listName As String = getListName.Attributes("Name").Value

Dim getFirstToken As XmlNode = listService.GetListItemChangesSinceToken(listName, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing)
Dim currentToken As String = getFirstToken.ChildNodes(1).Attributes("LastChangeToken").Value

label1.Text = currentToken + ControlChars.Lf

Dim strEditItemTitle As String = "My New Title"
Dim strBatchEdit As String = "<Batch OnError='Continue'><Method ID='0' Cmd='Update'>" + 
    "<Field Name='Title'>" + strEditItemTitle + "</Field>" + 
    "<Field Name='ID'>2</Field>" + 
    "<Field Name='EventDate'>2007-10-11T14:00:00Z</Field>" + 
    "<Field Name='EndDate'>2007-10-12T14:00:00Z</Field>" + 
    "</Method></Batch>"

Dim doc = New System.Xml.XmlDocument()
doc.LoadXml(strBatchEdit)
Dim editUpdates As XmlNode = doc.DocumentElement

Try
    listService.UpdateListItems(listName, editUpdates)
    Catch ex1 As System.Web.Services.Protocols.SoapException
        MessageBox.Show((ex1.Message + ControlChars.Lf + ex1.Detail.InnerText + ControlChars.Lf + ex1.StackTrace))
End Try

Dim getSecondToken As XmlNode = listService.GetListItemChangesSinceToken(listName, Nothing, Nothing, Nothing, Nothing, Nothing, currentToken, Nothing)

currentToken = getSecondToken.ChildNodes(1).Attributes("LastChangeToken").Value
label1.Text += currentToken + ControlChars.Lf

Dim strNewItemTitle As String = "My New Item"

Dim strBatchNew As String = "<Batch OnError='Continue'><Method ID='0' Cmd='New'>" + 
    "<Field Name='ID'>New</Field>" + 
    "<Field Name='Title'>" + strNewItemTitle + "</Field>" + 
    "<Field Name='EventDate'>2007-10-2T14:00:00Z</Field>" + 
    "<Field Name='EndDate'>2007-10-3T14:00:00Z</Field>" + 
    "</Method></Batch>"

doc = New System.Xml.XmlDocument()
doc.LoadXml(strBatchNew)
Dim addUpdates As XmlNode = doc.DocumentElement

Try
    listService.UpdateListItems(listName, addUpdates)
    Catch ex2 As System.Web.Services.Protocols.SoapException
        MessageBox.Show((ex2.Message + ControlChars.Lf + ex2.Detail.InnerText + ControlChars.Lf + ex2.StackTrace))
End Try

Dim getThirdToken As XmlNode = listService.GetListItemChangesSinceToken(listName, Nothing, Nothing, Nothing, Nothing, Nothing, currentToken, Nothing)

currentToken = getThirdToken.ChildNodes(1).Attributes("LastChangeToken").Value
label1.Text += currentToken
Web_Reference_Folder.Lists listService = new Web_Reference_Folder.Lists();
listService.Credentials = System.Net.CredentialCache.DefaultCredentials;
listService.Url = "http://MyServer/MyWebSite/_vti_bin/Lists.asmx";

XmlNode getListName = listService.GetList("MyCalendar");
string listName = getListName.Attributes["Name"].Value;

XmlNode getFirstToken = listService.GetListItemChangesSinceToken(listName, null, null, null, null, null, null, null);
string currentToken = getFirstToken.ChildNodes[1].Attributes["LastChangeToken"].Value;

label1.Text = currentToken + "\n";

string strEditItemTitle = "My New Title";
string strBatchEdit = "<Batch OnError='Continue'><Method ID='0' Cmd='Update'>" +
    "<Field Name='Title'>" + strEditItemTitle + "</Field>" +
    "<Field Name='ID'>2</Field>" +
    "<Field Name='EventDate'>2007-10-11T14:00:00Z</Field>" +
    "<Field Name='EndDate'>2007-10-12T14:00:00Z</Field>" +
    "</Method></Batch>";

XmlDocument doc = new System.Xml.XmlDocument();
doc.LoadXml(strBatchEdit);
XmlNode editUpdates = doc.DocumentElement;

try
{
    listService.UpdateListItems(listName, editUpdates);
}
catch (System.Web.Services.Protocols.SoapException ex1)
{
    MessageBox.Show(ex1.Message + "\n" + ex1.Detail.InnerText + "\n" + ex1.StackTrace);
}

XmlNode getSecondToken = listService.GetListItemChangesSinceToken(listName, null, null, null, null, null, currentToken, null);

currentToken = getSecondToken.ChildNodes[1].Attributes["LastChangeToken"].Value;
label1.Text += currentToken + "\n";

string strNewItemTitle = "My New Item";

string strBatchNew = "<Batch OnError='Continue'><Method ID='0' Cmd='New'>" +
    "<Field Name='ID'>New</Field>" +
    "<Field Name='Title'>" + strNewItemTitle + "</Field>" +
    "<Field Name='EventDate'>2007-10-2T14:00:00Z</Field>" +
    "<Field Name='EndDate'>2007-10-3T14:00:00Z</Field>" +
    "</Method></Batch>";

doc = new System.Xml.XmlDocument();
doc.LoadXml(strBatchNew);
XmlNode addUpdates = doc.DocumentElement;

try
{
    listService.UpdateListItems(listName, addUpdates);
}
catch (System.Web.Services.Protocols.SoapException ex2)
{
    MessageBox.Show(ex2.Message + "\n" + ex2.Detail.InnerText + "\n" + ex2.StackTrace);
}

XmlNode getThirdToken = listService.GetListItemChangesSinceToken(listName, null, null, null, null, null, currentToken, null);

currentToken = getThirdToken.ChildNodes[1].Attributes["LastChangeToken"].Value;
label1.Text += currentToken;

Siehe auch

Referenz

Lists Klasse

Lists-Member

WebSvcLists-Namespace