5
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

DialogflowをPythonから使ってみた

Posted at

注意事項

  • 本記事は2019/11時点の情報です
  • もしかすると抜けている部分があるかもしれません

やりたいこと

Python3.7からDialogflowにアクセスし、渡した文字列の解析をさせたい。

なぜ本記事を書いたか

  • 日本語での情報が少ない
  • 公式ドキュメントがわかりにくい
  • 今後のために備忘録

手順

1.事前準備

必要なパッケージをpipでインストール

pip install dialogflow

2.基本となるプログラム

import os
import dialogflow
from google.api_core.exceptions import InvalidArgument

os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = 'private_key.json'

DIALOGFLOW_PROJECT_ID = 'プロジェクトID'
DIALOGFLOW_LANGUAGE_CODE = 'ja'
SESSION_ID = 'me'

text_to_be_analyzed = "こんにちは"

session_client = dialogflow.SessionsClient()
session = session_client.session_path(DIALOGFLOW_PROJECT_ID, SESSION_ID)
text_input = dialogflow.types.TextInput(text=text_to_be_analyzed, language_code=DIALOGFLOW_LANGUAGE_CODE)
query_input = dialogflow.types.QueryInput(text=text_input)
try:
    response = session_client.detect_intent(session=session, query_input=query_input)
except InvalidArgument:
    raise

print("Query text:", response.query_result.query_text)
print("Detected intent:", response.query_result.intent.display_name)
print("Detected intent confidence:", response.query_result.intent_detection_confidence)
print("Fulfillment text:", response.query_result.fulfillment_text)
print(response.query_result)

3.プロジェクトID取得

1. Diaogflowのコンソールを開きます

2. アシスタント名の右にある歯車アイコンから設定画面へ行きます

image.png

3. プロジェクトIDを探しコピー

image.png

4. コピーしたIDに置き換え

DIALOGFLOW_PROJECT_ID = 'プロジェクトID'

のプロジェクトIDを置き換えてください

4.認証キーの取得

1. 先ほどのプロジェクトIDが書かれていた場所をクリック

2. GoogleCloudPlatformが開くのでナビゲーションメニューからAPIとサービス -> ライブラリ の順で選択

image.png

3. ライブラリでDialogflowを検索して選択

image.png

4. 有効になっているか確認する

image.png

5. ナビゲーションメニューからIAMと管理 -> サービスアカウント の順で選択

image.png

6. サービスアカウントを作成を選択

image.png

7. サービスアカウント名を記入

  • 他のアカウントと区別するだけなので好きな名前をサービスアカウント名へ入れる
  • IDはこだわりがなければ特に変更しなくてよい
  • 説明は省略可

終わったら作成を選択

image.png

8. 役職を決める

役職を選択から Dialogflow -> Dialogflow API クライアント の順で選択し続行を選択

image.png

9. キー作成

1. キーの作成を選択

image.png

2. キーのタイプでjsonを選択し作成

image.png

3. ダウンロードしたjsonファイルを配置

private_key.jsonに名前を変更しPythonファイルと同じ階層に置く

5.実行

Pythonプログラムを実行しエラーが出なければ成功

最後に

GoogleのAPI全般で分かりにくいのが認証だと思います。公式ドキュメントも探しにくく大変なことが多いです。
少しでも本記事が役に立てれば幸いです。

最後までご覧いただきありがとうございました。

5
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?