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

标签 php rest drupal drupal-7

我正在尝试弄清楚如何创建一个 RESTful API 来对 Drupal 7 实例的用户进行增删改查。最好使用以下模块,因为网站的其他部分也使用它: https://github.com/RESTful-Drupal/restful 如果有更好的 restful 模块,我愿意试一试。

文档展示了一些如何在文章中使用它。我需要为用户改变什么?有我可以遵循的教程吗?

最佳答案

如果您在模块中创建自己的端点,仅用于注册用户,您将获得更多乐趣,并且将更加安全。

首先,在模块的 .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() 来注册用户。您也可以在此处将原始 URL 列入白名单并执行其他安全操作。

关于php - 在 Drupal 7 中使用 RESTful 模块创建用户 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30383874/

相关文章:

php - Mysql:提取多表中未链接数据的最佳实践

javascript - JAX-RS JSON 对象到 JavaScript

java - Jersey 分段客户端上传

php - 在等待长时间运行的 MySQL 查询时,如何使 PHP 脚本优雅地超时?

php - Drupal 是如何工作的?

php - 如何在不使用ajax的情况下将javascript动态数据发送到php变量

PHP MVC 从 View 调用 Controller 函数

javascript - Redux:通用Reducer 与每个实体的Reducer

php - Drupal 添加了更改提交 ID 的可能性

javascript - 如何从 php 变量数组执行 jquery 自动完成功能