オープンソースプロジェクトmessenger4jを使用すると、必要なものすべてを手に入れることができます。
Messenger Platformでチャットボットを作成するための使いやすいJavaライブラリです。
送信メッセージを作成するための豊富なビルダーAPIを提供します。 さらに、受信メッセージを特定のJavaオブジェクトに解析し、そのタイプを自動的に検出します。メッセージタイプまたはイベントごとに、対応するイベントハンドラを登録できます。
受信:
String payload = ... // callback request body
String signature = ... // 'X-Hub-Signature' request header
// JDK 8 version
MessengerReceiveClient receiveClient = MessengerPlatform.newReceiveClientBuilder("APP_SECRET", "VERIFICATION_TOKEN")
.onTextMessageEvent(event -> System.out.printf("%s: %s", event.getSender().getId(), event.getText()))
.build();
// JDK 7 version
MessengerReceiveClient receiveClient = MessengerPlatform.newReceiveClientBuilder("APP_SECRET", "VERIFICATION_TOKEN")
.onTextMessageEvent(new TextMessageEventHandler() {
@Override
public void handle(TextMessageEvent event) {
System.out.printf("%s: %s", event.getSender().getId(), event.getText());
}
})
.build();
receiveClient.processCallbackPayload(payload, signature);
は、(シンプル)の送信:
MessengerSendClient sendClient = MessengerPlatform.newSendClientBuilder("PAGE_ACCESS_TOKEN").build();
sendClient.sendTextMessage("RECIPIENT_ID", "Hi there, how are you today?");
送信(コンプレックス):
ReceiptTemplate receipt = ReceiptTemplate.newBuilder("Stephane Crozatier", "12345678902", "USD", "Visa 2345")
.orderUrl("http://petersapparel.parseapp.com/order?order_id=123456")
.timestamp(1428444852L)
.addElements()
.addElement("Classic White T-Shirt", 50F)
.subtitle("100% Soft and Luxurious Cotton")
.quantity(2)
.currency("USD")
.imageUrl("http://petersapparel.parseapp.com/img/whiteshirt.png")
.toList()
.addElement("Classic Gray T-Shirt", 25F)
.subtitle("100% Soft and Luxurious Cotton")
.quantity(1)
.currency("USD")
.imageUrl("http://petersapparel.parseapp.com/img/grayshirt.png")
.toList()
.done()
.addAddress("1 Hacker Way", "Menlo Park", "94025", "CA", "US").street2("").done()
.addSummary(56.14F).subtotal(75.00F).shippingCost(4.95F).totalTax(6.19F).done()
.addAdjustments()
.addAdjustment()
.name("New Customer Discount")
.amount(20.00F)
.toList()
.addAdjustment()
.name("$10 Off Coupon")
.amount(10.00F)
.toList()
.done()
.build();
sendClient.sendTemplate("RECIPIENT_ID", receipt);
ところで、私はそれを作りました。
私のサーバーがtomcatと同じ問題に直面していました。 Pojosとfb messenger webhookの契約を見つけることができませんでした。だから私はそれを自分で作った。 [こちらは](https://github.com/thekosmix/Java-FbChatBot)あなたのJavaサーバーwebhookとfbメッセンジャーの間の契約のリンク。これは、桟橋に展開可能な本格的な作業用プロジェクトです。 – thekosmix
コスミックス、多くのありがとう。確かめます。 FBメッセンジャーボットの統合は、KikやSkypeよりはるかに簡単でした!誰がおっしゃいましたか? –