2016-07-23 5 views
0

誰かが同じことを行う方法を教えてもらえます私は、コマンドejabberdで休憩室を作る方法は?

ejabberdctl create_room room_name muc_service xmpp_domain

を使用してejabberdでチャットルームを作成することができることを知っていると私は、コマンド

ejabberdctl send_direct_invitation room_name password reason jid1[:jid2]

を使用して、ユーザーに招待状を送ることができますejabberd残りのAPIを使用して?

私は認証にoauthを使用しています。

私は

port: 5280 module: ejabberd_http request_handlers: "/websocket": ejabberd_http_ws "/log": mod_log_http "/oauth": ejabberd_oauth "/api": mod_http_api web_admin: true http_bind: true register: true captcha: true commands_admin_access: configure commands: - add_commands: - user - status oauth_expire: 3600 oauth_access: all

も作成するAPIリクエストを行うには

modules: mod_muc_admin: {}

答えて

1

ejabberdからapiにアクセスするためにmod_restfulモジュールを使用してください。そのモジュールにアクセスするには、ejabberd.ymlの下の行を設定する必要があります。

mod_restful: 
api: 
    - path: ["admin"] 
    module: mod_restful_admin 
    params: 
     key: "secret" 
     allowed_commands: [register, unregister,status, add_rosteritem, create_room, send_direct_invitation, set_room_affiliation] 
    - path: ["register"] 
    module: mod_restful_register 
    params: 
     key: "secret" 

これらのコマンドはallowed_commandsで宣言されていますが、これらのコマンドはapiでアクセスできます。だから将来、他のコマンドにアクセスしたい場合は、ここに追加する必要があります。

あなたは、再起動ejabberdの追加が完了し、あなたが郵便配達またはカール

、これはあまりにもsend_direct_invitationに努めるなどの同様の
/* 
      Data that need to be sent for creating group. 

      Url : example.com:8088/api/admin/ 
      Content-Type: application/json 

      {"key": "secret","command": "create_room","args": ["group1","conference.example.com","example.com"]} 


*/ 

のいずれかのAPIにアクセスすることができたら...

+0

ここでは、これらの設定をモジュールやejabberd.ymlファイルのどこかに記述する必要があります。さらに、この「鍵」とは何か:「秘密」とはどういう意味ですか、実際には私はoauthを使用していますので、ここでどのように使用できますか? – Ankit

+0

モジュールセクションのejabberd.ymlにこれを追加する必要があります。また、keyは正しい人物がこのポートにアクセスしているかどうかを知るための認証目的で使用されます。 ejabberd.ymlの値を変更して、キーの値を変更することができます。 –

+0

@ManiKandanどのバージョンのejabberdを上記の設定で使用しましたか? –

0

を使用してejabberd.ymlファイルにmod_muc_adminを有効にejabberd.ymlファイルに次の設定を行ってきました部屋、

カールポストを行う

curl -X POST -H "Cache-Control: no-cache" -d '{ "name": "aaaaa", "service": "bbbbb", "host": "ccccc" }' "http://localhost:5280/api/create_room"

それとも、シングルストロークで複数の部屋を追加したい場合は、ファイル内のすべての部屋名を追加するには、ファイル名がaaaaa

このようカールを行うと言う

curl -X POST -H "Cache-Control: no-cache" -d '{ "file": "aaaaa" }' "http://localhost:5280/api/create_rooms_file"

+0

5280ポートを使用して大丈夫ですが、 webpanelでも同じポートにアクセスできるので、api用にポート8088を使用するmod_resfulを設定することをお勧めします。 –

関連する問題