5.4.7.各種API利用時のキー情報をファイルで管理する

各種API機能を利用するためには、セキュリティ確保のためにキー情報の取得とプログラムでの利用が必要となっています。現在は、このキー情報をプログラムの中に直接記述していることから、プログラムのメンテナンス性やセキュリティの観点から課題となっています。

今回、このキー情報を効率的に管理し、且つ将来的にセキュリティの向上を容易にするために、キー情報を管理するキーリスト(json形式)を作成し、プログラム起動時にキーリストを読み込んでキー情報を取得するようにプログラムを修正します。これによりキー情報の管理を効率化する事ができます。

今回管理するキー情報としては

・Google サービスキー

・DialogFolw Client Access Token

・docomo APIキー及びappId

となります。

キー情報をファイルで管理する為に以下の手順で修正を行います。

1)GConversation_docomo.pyの修正

2)QA_docomo.pyの修正

3)keylist.json(json形式)の作成

4)NagoRobo_Main.pyの修正

5)BrainAction.pyの修正

 

1)GConversation_docomo.pyの修正

GConversation_docomo.pyの修正を行います。今まではappIdをプログラムに直接記載してましたが、appIdを引数にセットし実行するように修正します。

[GConversation_docomo.py]

2)QA_docomo.pyの修正

QA_docomo.pyのプログラムもGConversation_docomo.pyと同様にappIdを引数としてセットするように修正します。

[QA_docomo.py]

3)keylist.jsonの作成(json形式)

[keylist.json]

コメントをGoogle サービスキー、DialogFolw Client Access Token、docomo APIキーに書き替えてください。

また、keylist.jsonはプログラムが配置されているフォルダへ保管してください。

4)NagoRobo_Main.pyの修正

[NagoRobo_Main.py]

赤い下線のライブラリのインポート処理を追記します。

「ここから–ここまで」の処理を修正する

これでNagoRobo_Main.pyを実行するとkeylist.jsonを確認し、キーをkeylist.jsonから取得するようになります。また、keylist.jsonに「Id_docomo」というキーネームがなければGetMyappId.pyの関数を呼び出し、appIdを自動取得します。1度、appIdを取得すれば次回の起動時にはGetMyappId.pyの呼び出しは行いません。

5)BrainAction.pyの修正

BrainAction.pyはGConversation_docomo.pyとQA_docomo.pyの関数の呼び出し時に引数にappIdをセットするように修正を行います。

プロパティの処理の「ここから₋₋ここまで」の部分を追記します。appIdをNagoRobo_Main.pyから受けとる処理です。

[BrainAction.py]

赤い下線部分に第三引数としてappIdを追記します。

先ほど同様にQA_docomo.pyの関数の呼び出しの際にも赤い下線部分に第三引数としてappIdをセットします。

 

これですべてのプログラムの修正が完了しました。NagoRobo_Main.pyを実行し、問題なく動けば完成です。

※docomoのappIdを取得するプログラムGetMyappId.pyについては「5.4.1.自然対話:雑談機能の追加」をご参照ください。

前の投稿/次の投稿/メニューページへ戻る

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です