facebook messenger apiとwit.aiアクションを使用してサンプルのエコーメッセージボットを書きました。facebook messenger botエンコーディングエラー
facebookページからのメッセージが受信され、wit apiを使用して定義された適切なアクション関数も呼び出されます。しかし、 応答を返している間、私は次のようなエラーを受けています -
おっと!エラー:(#100)Paramメッセージ[text]はUTF-8でエンコードされた文字列でなければなりません fetch.then.then.json(/app/index.js:106:13) process._tickCallbackで(内部/プロセス/ next_tick.js:103:7) -
const fbMessage = (id, text) => {
const body = JSON.stringify({
recipient: { id },
message: { text },
});
const qs = 'access_token=' + encodeURIComponent(FB_PAGE_ACCESS_TOKEN);
return fetch('https://graph.facebook.com/v2.6/me/messages?' + qs, {
method: 'POST',
headers: {'Content-Type': 'application/json; charset=UTF-8'},
body
})
.then(rsp => rsp.json())
.then(json => {
if (json.error && json.error.message) {
throw new Error(json.error.message);`enter code here`
}
return json;
});
};
Iはmessenger.jsからこの関数をコピーした
ここで応答を返すために使用される関数であります私はPOCを試しているので、ドキュメントからファイルを削除してください。 この関数でtextとidの値をチェックし、console.logステートメントを使用して検証しています。
このエラーの解決に役立つ専門家がいますか?
注 - text.toString( "utf8")を使用してテキストをエンコードしようとしました。それは[オブジェクトオブジェクト]としてエンコーディング文字列を返し、私はロボットから得た 応答です。だからそれは働かない。