Facebookの私のビジネスページについてここで説明されている、同様のものを作成したいと思います。chatfuel や manychat などの代替手段はたくさんありますが、同じ Auto PM をより柔軟に使用したいと考えています。これまでに行ったことは、webhook とメッセンジャー API に接続しました。これらのコード行を書いたので、ビジネス ページのフィードのすべての変更を確認できます。
app.post("/api/webhooks", jsonParser, (req, res) => {
const jsonBody = req.body || '';
if (typeof jsonBody !== 'object' || !jsonBody.entry || jsonBody.object !== 'page') { return res.send('no body'); }
// else
const { message, sender_id } = jsonBody.entry[0].changes[0].value;
console.log(message);
if (!message) { return res.send('no message'); }
bot.say(sender_id, 'hey there, Mr. P!');
return res.send('post request');
});
前述したように、このコードにより、ビジネス ページで誰が変更を加えたかを確認できるため、ユーザーの ID を取得することもできます。だから私は、ユーザーのIDを知っていれば彼にメッセージを送ることができると思ったのですが、メッセージを送信しようとすると以下のエラーが発生します。
{ message: '(#100) No matching user found',
type: 'OAuthException',
code: 100,
error_subcode: 2018001,
fbtrace_id: 'CkNJQpdP6A9' }
- bot - bootbot と呼ばれるサードパーティの npm パッケージです。https://github.com/Charca/bootbot
私が間違っていることは何ですか?一部のアクションには、さらに多くの権限が必要ですか?