ftnext / python-as-pyconjp-staff

PyCon JPのスタッフをPythonにもやらせよう
MIT License
6 stars 2 forks source link

PyCon JPスタッフSlackにおける名前とSlack内部IDの対応を取得する方法を知っている #65

Closed ftnext closed 3 years ago

ftnext commented 3 years ago

Slack内部IDをスタッフのIDとして扱う案を思いついたので、取得するスクリプトを書いてみる

以下の順で呼び出す

  1. https://api.slack.com/methods/usergroups.list (ユーザーグループ一覧)
  2. https://api.slack.com/methods/usergroups.users.list (ユーザーグループの中のユーザー一覧、Slack内部IDのみ)
  3. https://api.slack.com/methods/users.info (ユーザーの情報取得)
ftnext commented 3 years ago

Content types application/x-www-form-urlencoded

この意味を理解できていなくて、SlackのAPIドキュメントを読み解けなかった

https://developer.mozilla.org/ja/docs/Learn/Forms/Sending_and_retrieving_form_data#the_htmlattrxrefenctypeform_attribute

既定値は application/x-www-form-urlencoded です。人間の言葉では、「これは URL 形式でエンコードされたフォームデータです。」という意味です。

Pythonの実装ではurlencodeする! ref: https://qiita.com/hoto17296/items/367477a5cf0239b86888 (__call__で実装した例)

https://api.slack.com/authentication/basics で使っている curl-F オプションはURLエンコードを指定 https://qiita.com/takayukioda/items/edf371b3566bea64d046#-f-key-value-data-%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E6%8C%87%E5%AE%9A%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E3%82%A2%E3%83%83%E3%83%97%E3%83%AD%E3%83%BC%E3%83%89%E7%AD%89

ftnext commented 3 years ago

SlackアプリのBot Token Scopes(備忘メモ)

image
ftnext commented 3 years ago

Slackにおける「名前」の雑感

https://api.slack.com/methods/users.info