2016-07-12 11 views
1

Änderungen I Sharepoint Rest api /getchanges bin mit Änderungen in einer Sharepoint-Website zu erhalten und erhalten Ergebnisse als: -Wie zeigen den Inhalt der Datei oder eine Datei/erhalten von Sharepoint-API-Aufruf

{ 
    "d": { 
     "results": [{ 
      "__metadata": { 
       "id": "https://mysite.sharepoint.com/test/_api/SP.ChangeItem38931e4b-01fa-4744-b478-e4f2b7cd7d8c", 
       "uri": "https://mysite.sharepoint.com/test/_api/SP.ChangeItem38931e4b-01fa-4744-b478-e4f2b7cd7d8c", 
       "type": "SP.ChangeItem" 
      }, 
      "ChangeToken": { 
       "__metadata": { 
        "type": "SP.ChangeToken" 
       }, 
       "StringValue": "1;1;16393f71-acfe-4ff4-a8e2-5668f572d3c6;636035775676900000;17124328" 
      }, 
      "ChangeType": 1, 
      "SiteId": "16393f71-acfe-4ff4-a8e2-5668f572d3c6", 
      "Time": "2016-07-08T12:26:07Z", 
      "Editor": "", 
      "EditorEmailHint": null, 
      "ItemId": 21, 
      "ListId": "244dcdb3-d056-4184-aa21-1dc7f507f199", 
      "ServerRelativeUrl": "", 
      "SharedByUser": null, 
      "SharedWithUsers": null, 
      "WebId": "9eb4d645-db81-4e3b-b2c1-cecc0b4efe5f" 
     }] 
    } 
} 

Die Anfrage Ich ve verwendet wird: -

POSThttp://mysite.sharepoint.com/test/_api/site/getchanges mit json Körper als Änderung query: -

{ 
    'query': { 
    '__metadata': { 
     'type': 'SP.ChangeQuery' 
    }, 
    'Update': true, 'Add': true,'Item':true,'DeleteObject':true 
    } 
} 

Jetzt möchte ich gerne ge t den Inhalt dieser Änderungen, wenn es sich um eine Dateiänderung handelt. Aber ich kann die in der Ergebnis-WebId oder ItemId erhaltene ID nicht mit der Datei-ID in Beziehung setzen, die unter Verwendung von Dateien und Ordnern api des Sharepoints erhalten werden kann. Wie kann ich dieses Ergebnis mit der tatsächlichen Datei-ID oder Datei verknüpfen, um den Inhalt der geänderten Datei zu erhalten?

Antwort

3

Aus weiteren Forschung fand ich heraus, dass wir den Inhalt der Datei durch den Aufruf bekommen: -

GET https://mysite.sharepoint.com/<site_name>/_api/web/lists(guid'<list-id>')/items(<item-id>)/File 

api von Sharepoint mit Listen-ID und Artikel-ID von /getchanges api erhalten. Dann nutzen Sie die ServerRelativeUrl Bereich des Eingreifens von Dateiinhalten zu erhalten Aufruf: -

GET http://mysite.sharepoint.com/<site_name>/_api/web/getfilebyserverrelativeurl('<url>)/$value?binaryStringResponseBody=true 

Prost :)