インラインエディターでDialogflowフルフィルメントをテストしています。私がやろうとしているのは、que'request 'ライブラリを使用したhttpリクエストです。これが私が使用しているコードです:
const requesthttp = require('request');
requesthttp('https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY', { json: true }, (err, res, body) => {
if (err) { return console.log(err); }
console.log(body.url);
console.log(body.explanation);
});
しかし、それは私に見つからないというエラーを返します。
また、Dialogflowで次のメッセージを含むアラートに気づきました。
「請求先アカウントが構成されていません。外部ネットワークにアクセスできず、割り当てが厳しく制限されています。これらの制限を削除するように請求先アカウントを構成してください。」
だから...おそらく私は請求先アカウントを設定せずにこのコードをテストすることはできません。
私の質問は...このコードをテストするために使用できるURLはありますか?または、このコードをテストする唯一の方法は、請求先アカウントを構成して料金を支払うことですか?
前もって感謝します
コードをテストするには、いくつかのアプローチがあります。
Dialogflowのインラインエディターを引き続き使用する場合は、支払いプランを使用するようにFirebaseを設定する必要があります。ただし、Blazeプランは、基本的な使用レベルの後に「従量制」です。このレベルの使用は、料金を課すことなく、サービスのほとんどのテスト(および非常に軽い本番)の使用をカバーするのに十分なはずです。アクションが承認されると、Google Cloud Platformのクレジットを受け取ることができます。これは、最小レベルを超えた場合にこの用途に適用できます。
インラインエディタのベースとなっているFirebaseCloud Functionsや、独自のローカルエディタを使用することもできます。これの利点の1つは、関数をローカルで提供できることです。この関数は、デプロイと同じ機能の多くを備えていますが、URL制限はありません(結局のところ、これは独自のマシンです)。ngrokなどのツールを使用して、テスト中にマシンへの安全なトンネルを作成できます。テストが完了したら、有料プランでこれをFirebaseにデプロイできます。
もちろん、他のホスティング方法を使用することもできます。GoogleとDialogflowを使用すると、サーバーが有効な非自己署名証明書を使用してHTTPS接続を提供できる限り、任意のサーバーでフルフィルメントWebhookを実行できます。node.jsを使用している場合は、これらのライブラリを引き続き使用できます。別の言語を使用する場合は、JSONを解析して返すことができる必要がありますが、それ以外の場合は制限はありません。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加