WP-APIプラグインを使用しているWordPress Webサイトを使用しているため、Androidアプリのデータをリクエストできます。
これまではデータを取得していましたが、Androidユーザーが記事にコメントできるようにしたいと考えています。
APIを使用して新しいコメントを作成できるようにする必要がありますが、それを私のために働かせることはできません。WP-APIのGETおよびPOST JSONスキームの違いに対処する方法
これは私が間違っていると思われるものである:
GETリクエスト:
{
"id": 3,
"post": 275,
"author": 1,
"date": "2016-05-12T12:10:03",
"content":
{
"rendered": "<p>asdfsdfsadf</p>\n"
}
}
期待POSTリクエスト:
{
"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;
}
}
あなたが見ることができるように、 POSTリクエストは、GETリクエストとPOJOのフォーマットが異なっていますGET要求後に導かれた。
シリアル化にGSONを使用していますが、これはGETリクエストのようなJSONを作成します。これはPOSTでは機能しません。
リクエストはretrofitとOkHTTPを使用して行われます。
次のエラーがワードプレスでスローされます。
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}}
私の質問です:
は私が誰かを願って同じPOJOを使用して、コメントを取得するために、新たなコメントを投稿してもできるようにすることができるようにする方法私を助けることができます!
['/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/)返信/新規/)...これは完全に文書化されているので、何が問題なのですか? – vard
私はWordPress.comではなく、[WP-API](http://v2.wp-api.org/)プラグインで自己ホスト版(.org)を使用しています。私が見る限り、これはまったく異なっています。 – thomas479