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

GCPコンソールに追加されたDialogflow API を試す

More than 1 year has passed since last update.

GCPコンソールに追加されたDialogflow API を試す

Dialogflow V2 APIのリリースに伴いGCPのAPIコンソールにDialogflowが追加されたので、試してみたいと思います :smiley:

Dialogflow V2 APIについてざっくり知りたい方はこちらの記事を見てください。Dialogflow V2 API の紹介

Screen Shot 0029-12-07 at 21.01.44.png

GCPコンソールに追加されたDialogflow API

Dialogflow API を使う準備

  • GCPコンソールでプロジェクトを選択し課金を有効にする
  • Dialogflow APIを有効にする
    • APIとサービスを選択
    • ライブラリを選択
    • Dialogflow APIを選択し有効にする
  • サービスアカウントを作成し .jsonをダウンロードする
    • APIとサービスを選択
    • 認証情報を選択する
    • 認証情報を作成
    • 新しいサービスアカウントを作成
    • 作成が終わったら.jsonファイルをダウンロードする

Screen Shot 0029-12-07 at 21.10.14.png

$ export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service_account.json
  • サービスアカウントをアクティベート
$ gcloud auth activate-service-account --key-file=service-account-key-file
  • GCPのDialogflowAPIからAgentを作成

Screen Shot 0029-12-07 at 21.19.43.png

※既に同一のGCPプロジェクトでDialogflowのエージェントを作成している場合は、新しく作成できません。

ここまでできれば準備完了です。

コマンドラインからIntentを作成

これまでDialogflowコンソールからIntentを作成していたと思いますが、コンソールからAPIを叩いて作成してみます。

作成リクエスト

$ curl -X POST -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "Content-Type: application/json; charset=utf-8" --data "{
  'displayName': 'Greeting',
  'priority': 500000,
  'mlEnabled': true,
  'webhookState': 'WEBHOOK_STATE_UNSPECIFIED',
  'trainingPhrases': [
    {
      'type': 'EXAMPLE',
      'parts': [
        {
          'text': 'Hello!'
        }
      ]
    }
  ],
  'action': 'greeting',
   'messages': [
      {
        'text': {
          'text': [
           'Hello!'
          ]
        }
      }
    ],
}" "https://dialogflow.googleapis.com/v2beta1/projects/project-name/agent/intents"

URLのproject-nameの部分はGCPプロジェクトのIDにする

レスポンス

{
  "name": "",
  "displayName": "Greeting",
  "priority": 500000,
  "mlEnabled": true,
  "action": "greeting",
  "messages": [
    {
      "text": {
        "text": [
          "Hello!"
        ]
      }
    }
  ]
}

Dialogflowコンソールを確認

Screen Shot 0029-12-07 at 21.30.11.png

ちゃんと作成されました!

コマンドラインからIntentを削除

次はIntentを削除してみましょう!

IntentのIDをメモする

削除したいIntentを選択しIDをメモします。IntentページのURLの editIntent/以降の部分がIntentのIDです。

削除リクエスト

$ curl -X DELETE -H "Authorization: Bearer "$(gcloud auth print-access-token) \
               -H "Content-Type: application/json; charset=utf-8" \
               "https://dialogflow.googleapis.com/v2beta1/projects/project-name/agent/intents/intent-id"

URLのproject-nameの部分はGCPプロジェクトのIDにする
URLのintent-idの部分はメモをしたIDにする

レスポンス

削除に成功すると空のレスポンスが返ってきます。

$ {}

Dialogflowコンソールで削除を確認

Screen Shot 0029-12-07 at 21.44.27.png

ちゃんと削除されました!

flatfisher
釣りが好きです
mixi
全ての人に心地よいつながりを
http://mixi.co.jp
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
ユーザーは見つかりませんでした