Lambda関数からRESTAPIを呼び出す

user1366265

データを取得するためにRESTAPIを呼び出すスキルを構築しようとしています。HelloWorldサンプルを使用して、ニーズに合わせて変更しています。リクエストノード(node.js)を使用してリクエストを発行しています。

しかし、私の地獄のために、私はそれを機能させることができません。ログで関数が呼び出され、正しい結果が返されていることがわかりますが、Alexaに送信された応答は空です!! 私が欠けているものはありますか?

const HelloWorldIntentHandler = {
  canHandle(handlerInput) {
    console.log("HelloWorldIntentHandler 1: ");
    return handlerInput.requestEnvelope.request.type === 'IntentRequest'
      && handlerInput.requestEnvelope.request.intent.name === 'HelloWorldIntent';
  },
  handle(handlerInput) {
    console.log("HelloWorldIntentHandler 2");
    var speechText = 'Hello World';

    Request.get(url, function(error, response, body) {
      console.log("I'm here")
      var data = JSON.parse(body)
      var result = data.records.totalNum
      if (result > 0) {
          speechText = "There are " + result + " matches";
      } else {
          speechText = "ERROR";
      }

      return handlerInput.responseBuilder
        .speak(speechText)
        .withSimpleCard('Hello World', speechText)
        .getResponse();
     });
  },
};

ログのエラーは

Error handled: speechOutput.trim is not a function
user1366265

Requestの代わりにAxiosを使用してこれを機能させることができました。

const HelloWorldIntentHandler = {
  canHandle(handlerInput) {
    console.log("HelloWorldIntentHandler 1: ");
    return handlerInput.requestEnvelope.request.type === 'IntentRequest'
      && handlerInput.requestEnvelope.request.intent.name === 'HelloWorldIntent';
  },
  async handle(handlerInput) {
    console.log("HelloWorldIntentHandler 2");
    var speechText = 'default';

    try {
      const response = await Axios.get(url);
      var result = response.data.totalRecs;
      if (result > 0) {
          speechText = "There are " + result + " matches";
      } else {
          speechText = "ERROR";
      }
      console.log("text=" + speechText);
      return handlerInput.responseBuilder
        .speak(speechText)
         .withSimpleCard('Hello World', speechText)
         .getResponse();
    } catch (error) {
      console.log(error);
    }
  },
};

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Kusto関数からRESTAPIを呼び出す

分類Dev

PythonでLambdaからAWSStep関数を呼び出す

分類Dev

BAMBOOからRestAPIを呼び出す方法

分類Dev

InlineScriptから関数を呼び出す

分類Dev

要旨から関数を呼び出す

分類Dev

関数からAngularFirestoreを呼び出す

分類Dev

data()から関数を呼び出す

分類Dev

baseActivityandroidから関数を呼び出す

分類Dev

edittextから関数を呼び出す

分類Dev

IDから関数を呼び出す

分類Dev

Beanstalkから関数を呼び出す

分類Dev

呼び出し元から関数を呼び出す

分類Dev

Lambda関数からRESTAPIを作成する

分類Dev

ノードアプリからAmazon Lambda関数を呼び出す

分類Dev

関数内から関数を呼び出しますか?

分類Dev

別の関数からinit関数を呼び出す

分類Dev

ReactJsで別の関数から関数を呼び出す

分類Dev

JQ関数からreact関数を呼び出す

分類Dev

PHPの別の関数から関数を呼び出す

分類Dev

javascriptes6の関数から関数を呼び出す

分類Dev

FirebaseCloud関数から非同期関数を呼び出す方法

分類Dev

非同期関数から同期関数を呼び出す

分類Dev

同期関数から非同期関数を呼び出す

分類Dev

AdminSDKからFirebaseCallableCloud関数関数を呼び出す

分類Dev

ある関数を別の関数から呼び出すPython

分類Dev

Firebaseクラウド関数から関数を呼び出す

分類Dev

jQueryOOPの別の関数から関数を呼び出す

分類Dev

関数内から関数を呼び出す

分類Dev

oncreate関数内から外部関数を呼び出す(Android)

Related 関連記事

ホットタグ

アーカイブ