SharePointCommunity
Die deutschsprachige Community für SharePoint, Office 365 und mit Azure

Fehler 400 Bad Request bei Rest-Aufruf

bewertet von 0 Usern
Nicht beantwortet Dieser Beitrag hat 0 Geprüfte Antworten | 6 Antworten | 2 Followers

Ohne Rang
9 Beiträge
Willi Mommsen erstellt in 19 Jan 2017 16:09

Hallo in die Runde!

Ich sitze bereits seit mehreren Stunden an einem Problem und hoffe, dass mir hier jemand die Augen öffnen kann :)

Für eine Anwendung müssen Daten per Rest-Schnittstelle (c#) in eine SharePoint-Liste geschrieben werden.
Das Abrufen, sowie das Hinzufügen von Items funktioniert einwandfrei. Wenn ich einen bestehenden Datensatz ändern möchte, bekomme ich den o.g. Fehler.

Fiddler wirft mir immer die folgende Meldung aus:
c2
{"error":{"code":"-1, Microsoft.SharePoint.Client.InvalidClientQueryException","message":{"lang":"de-DE","value":"Der Parameter \"__metadata\" ist in der Methode \"GetById\" nicht vorhanden."}}}
0

Meine Methode sieht folgendermaßen aus:

string strSchadenAlsJson = "{ '__metadata': {'type':'SP.List'},'Title':'Neuer Wert'},";


HttpClient client = new HttpClient(new HttpClientHandler() { Credentials = UserCredentials });

client.DefaultRequestHeaders.Clear();
client.DefaultRequestHeaders.Add("X-RequestDigest", GetFormDigest());
client.DefaultRequestHeaders.Add("X-HTTP-Method", "Merge");
client.DefaultRequestHeaders.Add("IF-MATCH", "*");
client.DefaultRequestHeaders.Add("Accept", "application/json;odata=verbose");

HttpContent content = new StringContent(strSchadenAlsJson);
content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
content.Headers.ContentType.Parameters.Add(new NameValueHeaderValue("odata", "verbose"));

string URL = "https://MeineSharePoint-Seite/_api/web/lists(guid'57f1fb6c-1ec1-4200-94a6-1cc68807a97b')/Items(38)";
HttpResponseMessage response = await client.PostAsync(URL, content);

Hat jemand eine Idee?

Danke im voraus!

Gruß

Willi

 

Alle Antworten

Top-10-Beitragsschreiber
18.855 Beiträge

Tut mir leid, zum eigentlichen Problem kann ich nichts sagen, aber warum verwendest Du nicht das Client Object Model? Das abstrahiert das alles, man muß sich nicht mit den tatsächlichen Requests rumschlagen, sondern hat schöne Objekte zur Verfügung...

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
9 Beiträge

Hi,

Danke für deine Antwort!

Das ganze soll als UWP-App auf diverse Geräte und meines Wissens nach gibt es wohl ebenfalls diverse Probleme mit UWP und CSOM. Oder?

 

Gruß

Willi 

Top-10-Beitragsschreiber
18.855 Beiträge

Da fehlt mir (noch) die Erfahrung. Ich würde aber an Deiner Stelle versuchen, PnP einzubinden. Das bügelt noch einige kleinere Unzulänglichkeiten des Standard-CSOM aus. Einen Versuch ist es jedenfalls wert :-)

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
9 Beiträge

Hi,

 

was ist den PnP? Plug'nPray? :)

 

Gruß

Willi

Top-10-Beitragsschreiber
927 Beiträge

https://github.com/SharePoint/PnP

Patterns and Practices

Ohne Rang
9 Beiträge

Ahh! Danke!

 

Gruß

 

Willi

Seite 1 von 1 (7 Elemente) | RSS