牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

リクエストの Authorization ヘッダに入れるBasic認証の情報をbase64でエンコードするメモ

(python3.7.x)

client_hoge_id:hoges1234Fuga5678Mogeraエンコードする例

import base64
client_id = 'client_hoge_id'
client_secret = 'hoges1234Fuga5678Mogera'
client_id_client_secret = base64.b64encode('{}:{}'.format(client_id, client_secret).encode('utf-8'))
print(client_id_client_secret)
# -> b'Y2xpZW50X2hvZ2VfaWQ6aG9nZXMxMjM0RnVnYTU2NzhNb2dlcmE='

.encode('utf-8') 入れるの忘れがち

参考

slack api の token 取得して Slack にメッセージを投げるメモ(2020年03月Ver )

前置き

以下の理由でまとめ書いた

  • 初めてやるとなかなかややこしい(旧トークン使う方法は簡単なんだけど)
  • 微妙にやりかたとか変更されてたりしててググっても混乱したりする
  • 公式ドキュメントわかりづらいと思う

アプリ作成

f:id:CortYuming:20200401132930p:plain

  • https://api.slack.com/apps にアクセス
  • Create New App 押下
  • App Name を入力
  • Development Slack Team を選択
  • Create App 押下

スコープを設定

  • サイドバーの OAuth & Permissions から設定画面へ
  • Scopes > Bot Token Scopes > Add an OAuth Scopechat:write を追加

アプリをインストール

f:id:CortYuming:20200401132950p:plain

  • OAuth & Permissions 画面の上部にある緑色の Install App to Workspace ボタンを押下。
  • Team Name と表示されている許可した項目を確認して Authorize
  • token が表示されるので copy しておく

アプリをSlackのチャンネルで追加

  • Slackの上部にあるチャンネル名をクリックして出てくるメニューの Add an App から追加。
    • これをやらないと投げたときにエラーになる > {"ok":false,"error":"not_in_channel"}%

動作確認

$ curl https://slack.com/api/chat.postMessage\?token\=xoxb-xxxx-xxxx-xxxx\&channel\=hogech\&text\=%22HogeFuga%22
{"ok":true,"channel":"hogech"...}
  • Slackに通知されればOK
  • ちなみに channel はチャンネル名とチャンネルidが使える(チャンネルidはwebで表示するとURLでわかる)

参考