2017-07-22 6 views
0

MACコマンドウィンドウのgactionsからプロジェクトを実行しようとすると、actions.sdkのGoogle Webシミュレーションのテストエラーが表示されます。<Appname>は現在応答していません。すぐにもう一度試してください

私はMACのコマンドウィンドウで次のコマンドを実行すると、それは、コマンドプロンプトで正常に動作します:

./gactions test --action_package action.json --project <project_id> 

しかし、私はそのプロジェクトのために、それぞれのウェブ・シミュレーション・ページ上でテストしようとすると、エラーが発生し以下のように:

<Appname> isn’t responding right now. Try again soon. 

は、ここで会話がactions.sdkウェブシミュレータのために起こるいるseuquenceです:

User: talk to <Appname> 
App: Okay. For that, you might like <Appname>. Wanna give it a try? 
User: yes 
App: <Appname> isn’t responding right now. Try again soon. 
私は、コマンドウィンドウでgactionsにテストコマンドを実行した後、それをテストしようとすると、それは行動のウェブシミュレータ上で「応答しない」エラーを与える

{ 

    "actions": [ 
     { 
     "description": "Default Welcome Intent", 
     "name": "input.welcome", 
     "fulfillment": { 
      "conversationName": "convo" 
     }, 
     "intent": { 
      "name": "Default Welcome Intent", 
      "trigger": { 
      "queryPatterns": [ 
       "talk to <Appname>" 
      ] 
      } 
     } 
     } 
    ], 
    "conversations": { 
      "convo": { 
      "name": "convo", 
      "url": "<CloundFunction url generated by firebase deploy>" 
      } 
     } 
} 

興味深い部分は、次のとおりです。

は、ここでは、このための私のaction.jsonファイルです.sdk。しかし、api.aiのIntegrationsを使って同じプロジェクトを実行しようとすると、action.sdkのWebシミュレータで動作します。私はこの背後にある理由を理解していない。

+0

api.aiとgactionsの両方を使用しているとのご迷惑をおかけします。これを明確にするために質問を更新できますか?両方のために開発しましたか? – Prisoner

+0

私はapi.aiにエージェントを作成しました。バックエンド処理を処理するindex.jsファイルがあります。ですから、api.aiを使用してプロジェクトを実行するかgactionsコマンドを使用するオプションがあります。 api.aiテストを使用して実行されますが、gactions testコマンドを使用して実行されません。それはあなたの質問に答えますか? – shiningdagger

答えて

0

ここで問題となるのは2つあります。

第1版 - レスポンス形式。

API.AIとgactionsの応答形式が異なります。要求に基づいて正しいnode.jsオブジェクトを使用するか(これも異なる)、または要求に基づいて正しいJSONを送り返す必要があります。 node.jsオブジェクトは、場合によっては若干異なるメソッドも提供するため、注意が必要な場合があります。

送信方法についてのコードは表示されていません。確認が難しいですが、これらのことを念頭に置いてください。

号2 - バージョン不一致

あなたが送っている応答は、おそらく仕様のバージョン2ですが、あなたのaction.jsonは、バージョンを指定していないので、それはバージョン1がデフォルトに指定するにはバージョン2のaction.jsonファイルの「conversations」セクションには、fulfillmentApiVersion属性が含まれている必要があります。

"conversations": { 
    "convo": { 
     "name": "convo", 
     "url": "https://whatever.example.com/endpoint", 
     "fulfillmentApiVersion": 2 
    } 
} 
関連する問題