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) |
最後までお読みいただきましてありがとうございました!
【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。
【PR】 「AWSではじめるLinux入門ガイド」という本を書きました。
【PR】 「ポケットスタディ AWS認定 デベロッパー - アソシエイト」という本を書きました。

開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター3年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
Feedlyのフィードを自動でSlackへ投稿する(AWS Lambda , Amazon DynamoDB)
やりたいこと Feedlyで共有したいフィードに特定のタグを付けます。 特定のタ …
-
-
SQLAlchemyのModelクラスをMySQLから自動生成する
SQLAlchemyのMySQLモデルを書くのが面倒で、きっと何かツールがあるの …
-
-
SendGrid(sendgrid_python)でメール送信してイベントの情報からメール本文をたどれるようにしておく
動的に生成するメールで実際にどんな本文が送信されたかを記録しておきたいときもある …
-
-
個人のGoogleカレンダーの予定をPythonで取得する
Google Calendar Twilio ReminderのGoogleカレ …
-
-
pythonのsqlalchemyで嵌った話
エラーメッセージ InvalidRequestError: SQL expres …
-
-
Python SQLAlchemy MySQLでcase文を使う
PythohのORMライブラリSQLAlchemyでMySQLのテーブルSele …
-
-
Redmine REST APIを操作するpython_redmineを試してみた
Redmine のGUIの登録が面倒なのでコマンドで登録、更新、時間の記録が出来 …
-
-
SQLAlchemyでシンプルにjoinする
過去のSQLAlchemyでjoinするという記事でPythonのSQLAlch …
-
-
docomo Developer supportの 雑談対話APIから自然対話APIへ移行しました
LINEやSlackのbotで重宝していた、雑談対話APIが終了する、とのことで …
-
-
PythonでHTMLエスケープされた全角ハイフンをアンエスケープする
PythonでHTMLエスケープとアンエスケープについて調べていると、 xml. …