web-dev-qa-db-fra.com

Créer un utilisateur à l'aide de l'API JSON

J'utilise l'API JSON pour obtenir la liste de publication de mon application.

Je dois créer un utilisateur (Enregistrer un nouvel utilisateur) à partir de l'App. Puis-je savoir comment ajouter une nouvelle fonction à Wordpress JSON-API?

Cordialement, Alex

1
Alex Aung

Je n'ai jamais travaillé avec ce plugin et une nouvelle API JSON Rest sera peut-être inclus dans le noyau d'une des futures versions. Jusqu'à présent, il est aussi disponible en plugin.

Pour faire court: il ne semble y avoir actuellement que trois types de contrôleurs dans ce plugin.

  1. Coeur
  2. Des postes
  3. Répondre

Mais il existe une section sur la page du plug-in principal _ qui explique comment étendre le plug-in et comment développer des contrôleurs d'API JSON . Donc c’est en fait juste un copypaste de légèrement modifié, ce que vous auriez pu lire dans le très excellent et page du plugin détaillé} [!

class JSON_API_Hello_Controller
{
    public function hello_world()
    {
        return array(
            "message" => "Hello, world"
        );
    }
}

Votre contrôleur est maintenant disponible en tant que hello et expose une méthode hello_world.

Activez ensuite votre contrôleur à partir de l'interface d'administration WordPress, accessible à partir du menu sous Paramètres> API JSON. Vous pouvez soit cliquer sur le lien vers votre méthode hello_world à partir de l'interface d'administration, ou le saisir manuellement. Il devrait avoir la forme suivante: http://www.example.org/api/hello/hello_world/?dev=1 ou http://www.example.org/?json=hello.hello_world&dev=1 (notez l'utilisation de l'argument dev pour permettre une sortie lisible par l'homme). Vous devriez obtenir le résultat suivant:

{
    "status": "ok",
    "message": "Hello, world"
}

Utilisation de vars de requête

Pour personnaliser le comportement de votre contrôleur, vous souhaiterez utiliser l'objet global $json_api->query. Ajoutez la méthode suivante à votre contrôleur:

public function hello_person()
{
    global $json_api;
    $name = $json_api->query->name;
    return array(
        "message" => "Hello, $name."
    );
}

Ajoutez maintenant le nom de la requête var à l’appel de la méthode:

http://www.example.org/api/hello/hello_world/?dev=1&name=Alice

...ou...

http://www.example.org/?json=hello.hello_world&dev=1&name=Alice.

Le résultat sera:

{
    "status": "ok",
    "message": "Hello, Alice"
}

Pour rendre votre contrôleur visible depuis un répertoire externe de plugins ou de thèmes, vous devrez utiliser deux filtres: json_api_controllers et json_api_[controller]_controller_path. Créez simplement un plugin personnalisé contenant votre contrôleur et ajoutez le code suivant:

<?php
/** Plugin Name: (#109019) Custom Hello JSON API Controller */

function add_hello_controller( $controllers )
{
    $controllers[] = 'hello';
    return $controllers;
}
add_filter( 'json_api_controllers', 'add_hello_controller' );

function set_hello_controller_path()
{
    return plugin_dir_path( __FILE__ )."helloController.php";
}
add_filter( 'json_api_hello_controller_path', 'set_hello_controller_path' );

// >> Controller goes here <<

// A more organized file structure might work as well, but it's ok
// to stuff everything in a single file if used as mu-plugin.

Vous pouvez utiliser n’importe quelle sorte de WP fonctions d’API publiques dans votre contrôleur. Néanmoins, l'API JSON possède également une couche intermédiaire. Exemple:

global $json_api;
$posts = $json_api->introspector->get_posts( array(
    'meta_key'   => $json_api->query->key,
    'meta_value' => $json_api->query->value

));

1
kaiser

Essayez le utilisateur de l'API JSON plugin. Il annonce qu'il peut enregistrer un nouvel utilisateur pour vous.

0
Dave

Utilisez WP API v2, le contrôleur d'utilisateurs est implémenté. Si vous utilisez V1, il y a un plugin mentionné ci-dessus.

0
Goran Jakovljevic