Попытка создавать посты на Wordpress с использованием Java, но заголовок не будет отображаться - PullRequest
0 голосов
/ 10 ноября 2019

Я пытаюсь сделать пост на Wordpress, используя API. Пока у меня есть этот код, и я могу создавать посты, но единственное, что публикуется, это содержание поста, а не заголовок. Я могу показать категорию, но не название. Что мне не хватает? Это код, который у меня есть:

public void connessione(){
        try {

            URL url = new URL(Costanti.URL_POST);
            HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
            urlConnection.setRequestMethod("POST");
            urlConnection.setRequestProperty("Authorization", "Bearer " + Costanti.BEARER_TOKEN);
            urlConnection.setDoOutput(true);
            PrintWriter wr = new PrintWriter(urlConnection.getOutputStream());

            wr.append(this.creaPost());
            wr.flush();
            urlConnection.connect();            
            InputStream is = urlConnection.getInputStream();
            BufferedReader rd = new BufferedReader(new InputStreamReader(is));
            StringBuilder response = new StringBuilder(); 
            String line;
            while ((line = rd.readLine()) != null) {
                response.append(line);
                response.append('\r');
            }
            rd.close();
            System.out.println(response.toString());
        } catch (Exception e) {
            e.printStackTrace();
        } 


    }

    private String creaPost(){
        StringBuilder s = new StringBuilder();
        s.append("?");
        s.append("title=").append("Title");
        s.append("&content=").append("description");
        s.append("&status=").append("publish");       

        return s.toString();
    }

Я хотел отправить данные в виде тела запроса, а не в качестве параметров запроса, но я не знаю, как это сделать. Я также хотел попробовать использовать что-то вроде библиотек JSON для написания кода в виде JSON вместо строки java, но NetBeans по какой-то причине не будет читать библиотеки, и я тоже не знаю, как это исправить.

Также это JSON, который я получил в ответ от этого метода:

{
    "id": 73,
    "date": "2019-11-10T10:09:55",
    "date_gmt": "2019-11-10T10:09:55",
    "guid": {
        "rendered": "http://localhost/tesi/2019/11/10/73/",
        "raw": "http://localhost/tesi/2019/11/10/73/"
    },
    "modified": "2019-11-10T10:09:55",
    "modified_gmt": "2019-11-10T10:09:55",
    "password": "",
    "slug": "73",
    "status": "publish",
    "type": "post",
    "link": "http://localhost/tesi/2019/11/10/73/",
    "title": {
        "raw": "",
        "rendered": ""
    },
    "content": {
        "raw": "description",
        "rendered": "<p>description</p>\n",
        "protected": false,
        "block_version": 0
    },
    "excerpt": {
        "raw": "",
        "rendered": "<p>descrizione</p>\n",
        "protected": false
    },
    "author": 1,
    "featured_media": 0,
    "comment_status": "open",
    "ping_status": "open",
    "sticky": false,
    "template": "",
    "format": "standard",
    "meta": [],
    "categories": [
        1
    ],
    "tags": [],
    "permalink_template": "http://localhost/tesi/2019/11/10/%postname%/",
    "generated_slug": "73",
    "_links": {
        "self": [
            {
                "href": "http://localhost/tesi/wp-json/wp/v2/posts/73"
            }
        ],
        "collection": [
            {
                "href": "http://localhost/tesi/wp-json/wp/v2/posts"
            }
        ],
        "about": [
            {
                "href": "http://localhost/tesi/wp-json/wp/v2/types/post"
            }
        ],
        "author": [
            {
                "embeddable": true,
                "href": "http://localhost/tesi/wp-json/wp/v2/users/1"
            }
        ],
        "replies": [
            {
                "embeddable": true,
                "href": "http://localhost/tesi/wp-json/wp/v2/comments?post=73"
            }
        ],
        "version-history": [
            {
                "count": 0,
                "href": "http://localhost/tesi/wp-json/wp/v2/posts/73/revisions"
            }
        ],
        "wp:attachment": [
            {
                "href": "http://localhost/tesi/wp-json/wp/v2/media?parent=73"
            }
        ],
        "wp:term": [
            {
                "taxonomy": "category",
                "embeddable": true,
                "href": "http://localhost/tesi/wp-json/wp/v2/categories?post=73"
            },
            {
                "taxonomy": "post_tag",
                "embeddable": true,
                "href": "http://localhost/tesi/wp-json/wp/v2/tags?post=73"
            }
        ],
        "wp:action-publish": [
            {
                "href": "http://localhost/tesi/wp-json/wp/v2/posts/73"
            }
        ],
        "wp:action-unfiltered-html": [
            {
                "href": "http://localhost/tesi/wp-json/wp/v2/posts/73"
            }
        ],
        "wp:action-sticky": [
            {
                "href": "http://localhost/tesi/wp-json/wp/v2/posts/73"
            }
        ],
        "wp:action-assign-author": [
            {
                "href": "http://localhost/tesi/wp-json/wp/v2/posts/73"
            }
        ],
        "wp:action-create-categories": [
            {
                "href": "http://localhost/tesi/wp-json/wp/v2/posts/73"
            }
        ],
        "wp:action-assign-categories": [
            {
                "href": "http://localhost/tesi/wp-json/wp/v2/posts/73"
            }
        ],
        "wp:action-create-tags": [
            {
                "href": "http://localhost/tesi/wp-json/wp/v2/posts/73"
            }
        ],
        "wp:action-assign-tags": [
            {
                "href": "http://localhost/tesi/wp-json/wp/v2/posts/73"
            }
        ],
        "curies": [
            {
                "name": "wp",
                "href": "https://api.w.org/{rel}",
                "templated": true
            }
        ]
    }
}

1 Ответ

0 голосов
/ 10 ноября 2019

Я решил, но поставил & перед 'title =', так что теперь это выглядит так:

private String creaPost(){
    StringBuilder s = new StringBuilder();
    s.append("?");
    s.append("&title=").append("Title");
    s.append("&content=").append("description");
    s.append("&status=").append("publish");       

    return s.toString();
}

и работает нормально

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...