1

私はすでに素晴らしく機能するスキルを 1 つ書きましたが、この 2 つ目のスキルは協力的ではありません。これは単純な雑学のようなスキル (GitHub で <a href="https://github.com/jakerella/alexa-bridge-keeper" rel="nofollow">コードを参照できます) であり、起動と初期意図はうまく機能します。しかし、スキルがユーザーに質問をして回答を待つと、私のサーバーはIntentRequest(ユーザーの回答) と の2 つの HTTP リクエストを受け取りますSessionEndedRequest。Amazon は、既に SessionEndedRequest を送信しているため、(独立して動作している) IntentRequest に対する私の応答を無視しています。

このスキルは、Amazon の「サービス シミュレーター」、 <a href="https://echosim.io/" rel="nofollow">Echosim、および自分の Echo デバイスでテストしました。Service Simulator では、すべて正常に動作します。サーバーに単一の要求しか送信しないためだと思います。(これが、コードがユーザーの回答に対する IntentRequest を適切に処理することを知っている方法です。) ただし、Echosim または自分のデバイスでテストすると、意図とセッション終了の 2 つの要求を同時に受け取ります。

2016-07-30T21:47:30.819563+00:00 app[web.1]:  { version: '1.0',
2016-07-30T21:47:30.819564+00:00 app[web.1]:   session:
2016-07-30T21:47:30.819565+00:00 app[web.1]:    { new: false,
2016-07-30T21:47:30.819566+00:00 app[web.1]:      sessionId: 'amzn1.echo-api.session.e42282ad-c89f-4bb9-b434-259686f26b47',
2016-07-30T21:47:30.819567+00:00 app[web.1]:      application: { applicationId: 'amzn1.ask.skill....' },
2016-07-30T21:47:30.819567+00:00 app[web.1]:      attributes: { question: 'name' },
2016-07-30T21:47:30.819573+00:00 app[web.1]:      user: { userId: 'amzn1.ask.account....' } },
2016-07-30T21:47:30.819574+00:00 app[web.1]:   request:
2016-07-30T21:47:30.819575+00:00 app[web.1]:    { type: 'IntentRequest',
2016-07-30T21:47:30.819575+00:00 app[web.1]:      requestId: 'amzn1.echo-api.request.a9991397-11a8-4fac-8406-33fb1b419b62',
2016-07-30T21:47:30.819576+00:00 app[web.1]:      timestamp: '2016-07-30T21:47:30Z',
2016-07-30T21:47:30.819576+00:00 app[web.1]:      locale: 'en-US',
2016-07-30T21:47:30.819577+00:00 app[web.1]:      intent: { name: 'GiveAnswer', slots: [Object] } } }
2016-07-30T21:47:30.819710+00:00 app[web.1]: Did they answer correctly? name king arthur
2016-07-30T21:47:30.847813+00:00 app[web.1]: New request for the bridge keeper:
2016-07-30T21:47:30.847815+00:00 app[web.1]:  { version: '1.0',
2016-07-30T21:47:30.847816+00:00 app[web.1]:   session:
2016-07-30T21:47:30.847816+00:00 app[web.1]:    { new: false,
2016-07-30T21:47:30.847817+00:00 app[web.1]:      sessionId: 'amzn1.echo-api.session.e42282ad-c89f-4bb9-b434-259686f26b47',
2016-07-30T21:47:30.847818+00:00 app[web.1]:      application: { applicationId: 'amzn1.ask.skill....' },
2016-07-30T21:47:30.847818+00:00 app[web.1]:      attributes: { question: 'name' },
2016-07-30T21:47:30.847819+00:00 app[web.1]:      user: { userId: 'amzn1.ask.account....' } },
2016-07-30T21:47:30.847820+00:00 app[web.1]:   request:
2016-07-30T21:47:30.847820+00:00 app[web.1]:    { type: 'SessionEndedRequest',
2016-07-30T21:47:30.847821+00:00 app[web.1]:      requestId: 'amzn1.echo-api.request.f2497e02-9ef4-405e-aee0-c7d2b6c67622',
2016-07-30T21:47:30.847821+00:00 app[web.1]:      timestamp: '2016-07-30T21:47:30Z',
2016-07-30T21:47:30.847822+00:00 app[web.1]:      locale: 'en-US',
2016-07-30T21:47:30.847822+00:00 app[web.1]:      reason: 'ERROR' } }

上に、両方のリクエストの本文と時刻が表示されています...ほぼ同時に表示されます。Amazon が SessionEndedRequest を送信しなければ、私のスキルは正常に機能していたはずです!

誰もこれを見たことがありますか?何が起こっているのかについて何か考えはありますか?

4

0 に答える 0