在Drupal 7中使用RESTful模块创建用户API

时间:2015-05-21 20:36:47

标签: php rest drupal drupal-7

我正在试图弄清楚如何为Drupal 7实例的用户创建一个RESTful API来CRUD。最好使用以下模块,因为站点的其他部分使用它: https://github.com/RESTful-Drupal/restful 如果那里有一个更好的休息模块,我愿意给它一个机会。

文档显示了如何将其与文章一起使用。我需要更改为用户?是否有我可以关注的教程?

1 个答案:

答案 0 :(得分:1)

如果您在模块中创建自己的终点,只是为了注册用户,您将获得更多的快乐,并且会更安全。

首先,在模块的.module文件中,使用hook_menu函数

/*
 * hook_menu
 */
function yourmodule_menu() {
    $items['yourmodule/user/register'] = array(
        'page callback' => 'yourmodule_user_register',
        'access arguments' => array('access content'),
    );
    return $items;
}

然后创建回调函数:

/*
 * hook_menu page callback
 */
function yourmodule_user_register() {

    // if you want to send the payload using content type 'application/json'
    $json = file_get_contents('php://input');
    $obj = json_decode($json);
    // otherwise use $_POST

    // if you have autoloader set up
    $register = new YourmoduleUserRegister($obj);
    // otherwise add in your logic here to validate and save user data

}

使用drupal API方法user_load_by_mail()和user_load_by_name()验证用户数据后,使用user_save()注册用户。您也可以将原始网址列入白名单,并在此处执行其他安全措施。