Help us understand the problem. What is going on with this article?

DialogflowをPythonから使ってみた

注意事項

  • 本記事は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全般で分かりにくいのが認証だと思います。公式ドキュメントも探しにくく大変なことが多いです。
少しでも本記事が役に立てれば幸いです。

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

MoraCyulu
身近な技術の組み合わせで楽しいことをしたい。 周りからは、変人って言われるけど気にしない。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした