2017-02-23 6 views
0

ユーザーがアクションSDTを使用して生の入力を行ったときに1つのhttp post apiを呼び出そうとしていますが、エラーが発生しました。googleアクションhttp-post-apiをactions-sdkを使用して呼び出す

if (assistant.getRawInput() == 'test') { 
     request({ 
     url: url, 
     json: true 
     }, function (error, response, body) { 
      if (error) {   
      assistant.tell('There is some error!'); 
      } 
      else {   
      assistant.tell('we got the response!'); 
      } 
     } 
    ) 

それが別々のノードのコマンドを使用して完全に正常に動作ようなコードと全く問題はありませんが、次のように私のコードがある」、私はアクションをGoogleに新しいです、

答えて

0

それがどのくらいを取っているのを支援してくださいリクエストをしますか?アクションは約5秒以内に完了する必要があり、呼び出し元のURLがこの時間のかなりの部分を占める場合、アクションはタイムアウトする可能性があります。

+0

URLは1秒 – Ether

+0

内に応答すると、それは間違いなく、要求ロジックを呼び出している(と生の入力が正確に「試験」ですか)?生の入力にマッチがなく、ロジックの他の部分がアシスタントをしていないことがありますか。 –

0

私は、リクエストのコールバックハンドラ内でアシスタント変数をどのように参照しているか、かなり確信しています。コールバックが実行されるときに補助変数をコンソールにログオンしてください(Googleのクラウドログにコンソールログが表示されます)。定義されていないことがわかります。補助変数にアクセスするには、ES6の太字の構文を使用してみてください。

if (assistant.getRawInput() == 'test') { 
 
     request({ 
 
     url: url, 
 
     json: true 
 
     }, (error, response, body) => { 
 
      if (error) {   
 
      assistant.tell('There is some error!'); 
 
      } 
 
      else {   
 
      assistant.tell('we got the response!'); 
 
      } 
 
     } 
 
    )

関連する問題