【问题标题】:Want to manage mongoldb user on CodeIgniter using Parse Rest API想要使用 Parse Rest API 在 CodeIgniter 中管理 mongodb 用户
【发布时间】:2017-07-25 16:40:45
【问题描述】:

数据库:MongoDB 后端框架:CodeIgniter

想从后端管理默认用户表。我正在使用 ParseRestAPI,但众所周知,Mongodb 不允许在没有会话的情况下更新用户。那么有什么方法可以管理 App 创建的用户并删除/创建新用户。

【问题讨论】:

    标签: php mongodb rest codeigniter parse-platform


    【解决方案1】:

    是的,您可以使用 Parse Rest API 做到这一点

    例如删除用户: 使用 DELETE http 动词并调用类似的东西:

    注意:您需要传递 Session Token 或 Master Key

     curl -X DELETE \
      -H "X-Parse-Application-Id: YOURAPPID" \
      -H "X-Parse-REST-API-Key: YOURAPIKEY" \
      -H "X-Parse-Session-Token: SESSIONTOKEN" \
      -H "X-Parse-Master-Key: YOURMASTERKEY" \
      https://api.example.com/1/users/<objectId>
    

    在php中你可以写:

    $ch = curl_init('https://api.example.com/1/users/<objectId>');                                                                      
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");                                                                     
    
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                                                                      
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
        'Content-Type: application/json',                                                                                
        'X-Parse-Application-Id: YOURAPPID',
        'X-Parse-REST-API-Key: YOURAPIKEY', 
        'X-Parse-Master-Key: YOURMASTERKEY'                                                                 
    );                                                                                                                   
    
    $result = curl_exec($ch);
    

    要创建一个用户调用这样的 API(例如我使用 curl)

            curl -X POST \
            -H "X-Parse-Application-Id: YOUAPPID" \
            -H "X-Parse-REST-API-Key: YOURAPIKEY" \
            -H "Content-Type: application/json" \
            -d '{ "objectId": "", "updatedAt": "", "createdAt": "", "name": "John Doe", "pass": "toto42" }' \
            https://api.example.com/1/classes/User/
    

    【讨论】:

    • 使用相同的 curl 然后像您发送的一样发送以下 JSON 进行更新,但得到以下错误 [code] => 400 [response] => {"code":206,"error": "无法修改用户 06mqGTKBTr。"}
    • @MMuzammilQ 我忘记了一件重要的事情,我已经更新了我的答案
    • 我在我的问题中询问我想从 CodeIgniter 后端执行此操作并希望批量更新。我在 APP 中使用相同的 curl 并且工作正常。
    • @MMuzammilQ 您是否传递了主密钥或会话令牌?
    • 我无法传递会话令牌,因为我正在批量更新用户并且我想从后端执行 CRUD。它不像用户登录然后更新。
    猜你喜欢
    • 2016-01-22
    • 2021-02-13
    • 1970-01-01
    • 1970-01-01
    • 2020-05-27
    • 1970-01-01
    • 2018-11-13
    • 2019-12-30
    • 2017-06-12
    相关资源
    最近更新 更多