Ich habe eine WordPress Webseite mit dem WP-API Plugin, so dass ich Daten für meine Android App anfordern kann.
Bis jetzt habe ich nur Daten abgerufen, aber jetzt möchte ich, dass meine Android-Benutzer Kommentare zu Artikeln erstellen können.
Also ich muss in der Lage sein, neue Kommentare über die API zu erstellen, aber ich kann es nicht für mich arbeiten.Wie man mit den Unterschieden im GET und POST JSON Schema der WP-API umgehen kann
Dies ist, was ich denke, ist falsch:
GET-Anfrage:
{
"id": 3,
"post": 275,
"author": 1,
"date": "2016-05-12T12:10:03",
"content":
{
"rendered": "<p>asdfsdfsadf</p>\n"
}
}
Erwartete POST-Anfrage:
{
"id": 3,
"post": 275,
"author": 1,
"date": "2016-05-12T12:10:03",
"content": "<p>asdfsdfsadf</p>\n"
}
POJO:
public class CommentModel {
public Integer id;
public Date date;
public Date modified;
public Content content;
public int post;
public int author;
public class Content {
public String rendered;
}
}
Wie Sie, die sehen POST-Anfrage ist anders formatiert als die GET-Anfrage und mein POJO ist Modell nach der GET-Anfrage geführt.
Ich verwende GSON für die Serialisierung und es wird JSON erstellen, die wie die GET-Anfrage aussieht; Dies funktioniert nicht bei einem POST.
Die Anfrage erfolgt mit Nachrüstung und OkHTTP.
Der folgende Fehler wird in Wordpress geworfen:
Warning: stripslashes() expects parameter 1 to be string, array given in wp-includes/kses.php on line 1566
{"code":"rest_cannot_read_post","message":"Sorry, you cannot read the post for this comment.","data":{"status":403}}
Meine Frage ist: Wie die Lage sein, einen neuen Kommentar zu schreiben und auch in der Lage sein, um Kommentare
die gleiche POJO verwenden bekommenIch hoffe jemand kann mir helfen!
['/sites/$site/posts/$post_ID/replies/'](https://developer.wordpress.com/docs/api/1.1/get/sites/%24site/posts/%24post_ID/replies /), ['/sites/$site/posts/$post_ID/replies/new'](https://developer.wordpress.com/docs/api/1.1/post/sites/%24site/posts/%24post_ID/ Antworten/new /) ... Das ist gründlich dokumentiert, was ist das Problem? – vard
Ich verwende nicht WordPress.com, sondern die selbst gehostete Version (.org) mit dem [WP-API] (http://v2.wp-api.org/) Plugin. Soweit ich sehen kann, ist das völlig anders. – thomas479