続 slackからチームスピリットの打刻を行うには -botkit express mongodbでの実装-
前回のpostはこちら:https://geeorgey.com/archives/3569
前回までの機能では、Salesforceのセッションが切れた場合、再度OAuth用のリンクを踏んでセッション情報を取得する必要がありました。チームスピリットの打刻は出勤日に使うので、毎朝セッションが切れていると不便で仕方がありません。
そこで、SalesforceAPIにはセッションが切れた場合に、新しくアクセストークンを取得する仕組みがあるので、そちらの実装を行ったのが今回のアップデートです。
Salesforceのセッション情報はmongoDB上に保管され、時間が経ちセッションが切れると、その情報を使って新しいアクセストークンを取得、そちらのデータでmongoDB上のデータを置き換えます。そうすることで、一度Salesforceとの接続処理を行っておけば、再度セッション情報を取得する必要がなくなります。この実装をしないと実用に耐えません。
使い方
設定等については前回の投稿を参照してください。 https://geeorgey.com/archives/3569
mongoDBに sfusers という名前のコレクションを加えてください。その中にデータが保存されます。
GitHub
https://github.com/geeorgey/ts-dakoku-node-express