it-swarm.com.de

Beitrag erstellen mit REST API in PHP mit file_get_contents

Eigentlich habe ich keine Probleme, Beiträge zu bekommen. Ich muss Posts mit der REST API in PHP mit file_get_contents erstellen.

Das ist mein Code:

json_decode(
    file_get_contents(
        "http://my-site.com/wp-json/wp/v2/posts",
        false,
        stream_context_create(
            array(
                "http" => array(
                    "header"  => "Content-type: text/json\r\n",
                    "method"  => "POST",
                    "content" => json_encode(
                        array(
                            "slug" => "article-2",
                            "title" => "Article 2",
                            "content" => "Created with rest api",
                        )
                    )
                ),
                'ssl' => array(
                    'verify_peer' => false,
                    'verify_peer_name' => false
                )
            )
        )
    ),
    true
);

Und ich bekomme diesen Fehler: failed to open stream: HTTP request failed! HTTP/1.0 401 Unauthorized

Also habe ich versucht, eine Authentifizierung mit echtem WP-Benutzernamen und Passwort durchzuführen:

"http" => array(
    "header"  => "Content-type: text/json\r\n"."Authorization: Basic " . base64_encode("$username:$password"),
    "method"  => "POST",
    "content" => json_encode(
        array(
            "slug" => "article-2",
            "title" => "Article 2",
            "content" => "Created with rest api",
        )
    )
)

Aber das gleiche Ergebnis.

Wie kann ich einen Beitrag mit der REST API von PHP mit file_get_contents einfügen?

2
Mattia Merlini

Sie müssen ein Plugin installieren, um die Authentifizierung hinzuzufügen. Standardmäßig sind ein Cookie und ein Nonce-Token erforderlich. Für CLI-Apps oder PHP -Anfragen möchten Sie jedoch ein grundlegendes Auth-Plugin installieren oder OAuth1 verwenden/2

2
Tom J Nowell