問題タブ [alexa-skills-kit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - Amazon Alexa Skills Kit: 外部アプリ アカウント / ユーザー ID とどのようにリンクしますか
Amazon alexaスキルリクエストにはuserIdがあり、これが何であるかを理解しようとしています。また、Amazon Echoユーザーアカウントを自分のアプリのアカウントにリンクし、これを行うための参照があるかどうかを理解しようとしています。操作するには、ある種の静的な userId が必要です。
リクエストの例:
aws-lambda - Alexa が自分のスキルを見つけない
Alexa Skills Kit で提供されている例の 1 つに基づいて、AWS Lambda Node.js アプリとして Alexa Skill を作成しました。私はすべての指示に従いました:
- 私の Echo は、AWS の私の開発者アカウントと同じアカウントで登録されています
- Amazon 開発者コンソールでスキルを設定しました
- コンソールからのアプリケーション ID をアプリケーション コードに入れました。
- コードを AWS Lambda サービスにアップロードしました (指示に従って、バージニア北部に設定)
- サービスをテストしたところ、予想される JSON が返されました
- 開発者コンソールにエンドポイントとして ARN を入力しました
- コンソールの次のステップで、「アレクサ、HelloWorld に聞いて」と言って、Echo でスキルをテストするように指示されます。
これを行うと、彼女は「要求されたアプリケーションとの通信に問題がありました」と返信します。Echo アプリでは、次のように表示されます。
予期しない通信の問題 HelloWorld 要求識別子: amzn1.echo-api.request.e2d17280-592a-474f-a6b1-d1a9d8ff816d 要求されたアプリケーションとの通信に問題がありました
AWS Lambda 関数のリストから、サービスに到達したリクエストがないことがわかります。Echoを再起動しました。どこかに伝播するのに時間が必要な場合に備えて、1時間与えましたが、それでも同じ応答が返されます.
したがって、これはかなりあいまいな行き止まりです。誰かがこれに遭遇しましたか?何を試してみますか?
ios - Alexa Skills Kit を iOS モバイルアプリと統合してイベントをトリガーすることは可能ですか?
たとえば、iOS アプリ内でカメラを起動して写真を撮りたいとします。ASK と iPhone マイクを使用して、ユーザーの音声コマンド (「カメラを起動」) を理解して、カメラを起動し、iOS 内の機能をトリガーできますか?
java - Alexa との予期しない通信の問題
Alexa スキルを AWS Lambda Java アプリとして作成し、Alexa Skills Kit で提供されている HelloWorld の例を使用しました。ここで指定されたすべての手順を含む、Amazonサイトで指定されたすべての手順に従いましたAlexa not find my Skill . Amazon はこの時点で Java で Lambda を使用するための完全な指示を与えていないため、このチュートリアルhttps://github.com/jjaquinta/EchoProofOfConcepts/tree/master/jo.echo.lambdaに記載されている手順に従いました。アマゾン フォーラム ページ。Lambda でコードを実行すると、コードは受け入れられますが、これは実行結果としてのみ表示されます。
そして、Alexa セッション開始リクエストの次のログ出力を取得します。
エコーでスキルを試すと、「予期しない通信の問題」が発生しました: Request Identifier:amzn1.echo-api.request.173c5d6c-8e97-493c-9efd-beb88cffd82f 要求されたアプリケーションとの通信に問題がありました。
誰かが同じ問題に遭遇しましたか? 私のzipパッケージに関係している可能性があると思うので、パッケージ化する正しい方法を知っている人はいますか?
これは、HelloWorld に使用したコードですhttps://docs.google.com/document/d/1DU_-kAOxnhEp_4Lsj6I_LzEN4Di6-4Gmk28OZgc80IA/pub
java - Proper Java handleRequest() method signature for Amazon Echo/Alexa on Amazon Lambda?
I'm trying to create an Amazon Lambda function implemented in Java to work with Amazon Echo/Alexa. I'm using Eclipse Mars as the IDE.
Here's what my LambdaFunctionHandler
, which will receive the requests from Alexa, looks like:
However, when trying to test this with sample JSON input from Alexa, I get the error in Eclipse:
{"errorMessage":"An error occurred during JSON parsing","errorType":"java.lang.RuntimeException","stackTrace":[],"cause":{"errorMessage":"Lcom/fasterxml/jackson/databind/ObjectMapper;","errorType":"java.lang.NoClassDefFoundError","stackTrace":["java.lang.Class.getDeclaredFields0(Native Method)","java.lang.Class.privateGetDeclaredFields(Class.java:2583)","java.lang.Class.getDeclaredFields(Class.java:1916)","com.fasterxml.jackson.databind.introspect.AnnotatedClass._findFields(AnnotatedClass.java:689)","com.fasterxml.jackson.databind.introspect.AnnotatedClass.resolveFields(AnnotatedClass.java:470)","com.fasterxml.jackson.databind.introspect.AnnotatedClass.fields(AnnotatedClass.java:282)","com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector._addFields(POJOPropertiesCollector.java:390)","com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.collect(POJOPropertiesCollector.java:243)","com.fasterxml.jackson.databind.introspect.BasicClassIntrospector.collectProperties(BasicClassIntrospector.java:197)","com.fasterxml.jackson.databind.introspect.BasicClassIntrospector.forDeserialization(BasicClassIntrospector.java:110)","com.fasterxml.jackson.databind.introspect.BasicClassIntrospector.forDeserialization(BasicClassIntrospector.java:15)","com.fasterxml.jackson.databind.DeserializationConfig.introspect(DeserializationConfig.java:703)","com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer(DeserializerCache.java:330)","com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:265)","com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:245)","com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:143)","com.fasterxml.jackson.databind.DeserializationContext.findRootValueDeserializer(DeserializationContext.java:439)","com.fasterxml.jackson.databind.ObjectReader._prefetchRootDeserializer(ObjectReader.java:1588)","com.fasterxml.jackson.databind.ObjectReader.(ObjectReader.java:185)","com.fasterxml.jackson.databind.ObjectMapper._newReader(ObjectMapper.java:558)","com.fasterxml.jackson.databind.ObjectMapper.reader(ObjectMapper.java:3098)"],"cause":{"errorMessage":"com.fasterxml.jackson.databind.ObjectMapper","errorType":"java.lang.ClassNotFoundException","stackTrace":["java.net.URLClassLoader.findClass(URLClassLoader.java:381)","java.lang.ClassLoader.loadClass(ClassLoader.java:424)","java.lang.ClassLoader.loadClass(ClassLoader.java:357)","java.lang.Class.getDeclaredFields0(Native Method)","java.lang.Class.privateGetDeclaredFields(Class.java:2583)","java.lang.Class.getDeclaredFields(Class.java:1916)","com.fasterxml.jackson.databind.introspect.AnnotatedClass._findFields(AnnotatedClass.java:689)","com.fasterxml.jackson.databind.introspect.AnnotatedClass.resolveFields(AnnotatedClass.java:470)","com.fasterxml.jackson.databind.introspect.AnnotatedClass.fields(AnnotatedClass.java:282)","com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector._addFields(POJOPropertiesCollector.java:390)","com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.collect(POJOPropertiesCollector.java:243)","com.fasterxml.jackson.databind.introspect.BasicClassIntrospector.collectProperties(BasicClassIntrospector.java:197)","com.fasterxml.jackson.databind.introspect.BasicClassIntrospector.forDeserialization(BasicClassIntrospector.java:110)","com.fasterxml.jackson.databind.introspect.BasicClassIntrospector.forDeserialization(BasicClassIntrospector.java:15)","com.fasterxml.jackson.databind.DeserializationConfig.introspect(DeserializationConfig.java:703)","com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer(DeserializerCache.java:330)","com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:265)","com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:245)","com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:143)","com.fasterxml.jackson.databind.DeserializationContext.findRootValueDeserializer(DeserializationContext.java:439)","com.fasterxml.jackson.databind.ObjectReader._prefetchRootDeserializer(ObjectReader.java:1588)","com.fasterxml.jackson.databind.ObjectReader.(ObjectReader.java:185)","com.fasterxml.jackson.databind.ObjectMapper._newReader(ObjectMapper.java:558)","com.fasterxml.jackson.databind.ObjectMapper.reader(ObjectMapper.java:3098)"]}}}
Here's my JSON input (taken from the TestColors example online):
So, apparently Amazon SpeechletRequestEnvelope
isn't the correct input class for handleRequest()
.
What is the correct method signature for handleRequest()
to receive requests from Alexa?
I can't find a Java example for Amazon Lambda that works with Alexa/Echo.
node.js - node AWS Lambda + twitter API: data is not defined
I'm having fun with the Alexa API, so I downloaded a Hello World example from here https://developer.amazon.com/appsandservices/solutions/alexa/alexa-skills-kit/getting-started-guide
I managed to made some minor changes and have Alexa say other things. But now I want to have a real world example working, so I tried to get the latest tweet for user.
so I coded a twitter function and it works, I see the tweet on my console. Besides, the downloaded example works just fine too. But now, when I try to combine them by adding my twitter function into the Alexa example, it throws the following error when trying to print the value (if I don't print it, it doesn't break):
#xA;here is the code but the modified function is getWelcomeResponse()
#xA;Can some one please guide me on what's wrong? it's probably a scope issue, I'm not sure.
amazon-web-services - Amazon Echo - メッセージをデバイスにプッシュする
Amazon echo デバイスを、アカウントに関連付けられた Amazon ポータルに統合しました。Alexa Skills Kit で独自のカスタム質問を作成し、AWS Lambda 関数で処理して応答を生成することができました。
私の質問は次のとおりです。プログラムでメッセージをエコーデバイスに「プッシュ」することは可能ですか? 例えば、質問しなくてもしゃべってほしい。特定の瞬間に何かをしたいのですが。
可能であれば、これを実現するためのサンプル コードを教えてください。
amazon - リストではないカスタム スロット タイプを定義するにはどうすればよいですか?
私は Alexa Skills Kit (Amazon Echo 用) をいじっていて、インテントを AWS Lambda 関数に送信するスキルを作成したいと考えています。AWS Lambda 関数は何かをメールで返します。
サンプル発話は次のようになります。
これにより、「Alexa、秘書にメモを取るように頼んで、今日の帰りに店に行くようにリマインドして」などと言うことができ、Lambda 関数から「に行くことをリマインドして」というメールを受け取ることができます。今日の帰りのお店です。」
スロットは自由形式です。myMemo
この時点では 1 文か 2 文で十分ですが、このようなスキーマの記述方法に関するドキュメントにはあまり助けがありません。現時点での私の最善の推測は次のように失敗します。
エラー: リクエストに問題がありました: 不明なスロット名 '{myMemo}'。1行目のサンプル「MemoIntent take a memo {myMemo}」で発生。
私は AMAZON.LITERAL スロット タイプを使用していますが、これはドキュメントでは推奨されていませんが、これについて他に方法を提案するものもありません。その上、私が言ったように、それは失敗します。
失敗するスキーマは次のとおりです。