Rocket.ChatのAPIでユーザーを一括登録する
Rocket.Chatの管理画面にインポートのメニューはあって、どうやらusers.csvを作って、zipにしてアップロードすればいいらしい、というのはわかったのですが、公式のCSVのページを見ると、パスワードは指定できないらしいです。
なるほど。
登録メールを受けてユーザーが自分で設定するのですね。
そうすればパスワードを知っている人が減る分セキュアですものね。
だがしかし、今回は研修で一時的に使う環境で、扱うデータも機密ではないし、ユーザーは書き込みもできないので、こちらから送るデータを手元で見てほしいだけ。
なので、パスワードはこちらで設定したい。
なので、APIから作ることにしました。
こちらも公式のUsers Createを確認して、まずはPostmanで1ユーザーだけ作成してみて、問題ないことを確認しました。
あとは、ローカルのPythonで、同じディレクトリに置いたCSVを読み込んで登録してしました。
CSVのフォーマットはこちらです。
メールアドレス, パスワード
nameとusernameは、メールアドレスの@より前にしました。
API実行時に必要なトークンとユーザーIDはこちら「Rocket.ChatにAPIで投稿するテスト(Postman)」をご参照ください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
import csv import json import requests url = 'http://xxxxxxxxxxxxxx:3000/api/v1/users.create' headers = { 'X-Auth-Token': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'X-User-Id': 'xxxxxxxxxxxxxx', 'Content-Type': 'application/json' } with open('users.csv') as f: reader = csv.reader(f) for row in reader: name = row[0][0:row[0].find('@')] user = { 'email': row[0], 'name': name, 'password': row[1], 'username': name } response = requests.post( url, data=json.dumps(user), headers=headers ) print(response.text) |
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
![](https://www.sbcr.jp/wp-content/uploads/2023/01/9784815617929-1-407x596.jpg)
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
![](https://www.sbcr.jp/wp-content/uploads/2024/01/9784815625382-3-420x596.jpg)
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
![](https://www.shuwasystem.co.jp//images/book/637791.jpg)
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
![](https://book.mynavi.jp/files/topics/135344_ext_06_0.jpg?v=1673514682)
「AWSではじめるLinux入門ガイド」という本を書きました。
![](https://www.yamamanx.com/wp-content/uploads/2023/12/81Rp5O9We6L._SY522_.jpg)
![@yamamanx](https://www.yamamanx.com/wp-content/plugins/lazy-load/images/1x1.trans.gif)
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
SQLAlchemyでjoinする
PythonのSQLAlchemyでMySQLのテーブルをjoinするときの覚書 …
-
-
CentOS 6でPythonからOracleに接続する
OracleのデータをPythonでさわりたくて、その実行環境がCentOS6の …
-
-
SQLAlchemyのModelクラスをMySQLから自動生成する
SQLAlchemyのMySQLモデルを書くのが面倒で、きっと何かツールがあるの …
-
-
SendGrid(Python)で添付ファイル付きのメールを送信する
SendGridを使って添付ファイル付きのメールを送信するサンプルをPython …
-
-
Python SQLAlchemy MySQLでcase文を使う
PythohのORMライブラリSQLAlchemyでMySQLのテーブルSele …
-
-
「大阪Pythonユーザの集まり」に行ってきました
「大阪Pythonユーザの集まり」 に行ってきました。 あんまりメモ取れてません …
-
-
SQLAlchemyでシンプルにjoinする
過去のSQLAlchemyでjoinするという記事でPythonのSQLAlch …
-
-
Apple Silicon M1 MacBook ProにJupyter Notebookをインストールしました
Python – Jupyter NotebookをMac M1 搭 …
-
-
Pepper 開発 ワークショップ初級~中級~番外編に1日で一気に参加した
Pepperの開発方法が知りたかったので、Pepperアトリエ秋葉原 with …
-
-
SendGrid(sendgrid_python)でメール送信してイベントの情報からメール本文をたどれるようにしておく
動的に生成するメールで実際にどんな本文が送信されたかを記録しておきたいときもある …