我搜索过,找不到任何与Java一起使用的Facebook API。你们中的任何人都知道怎么做吗?
答案 0 :(得分:1)
您可以使用此库连接Facebook Messenger https://github.com/BotMill/fb-botmill
步骤: 添加对pom文件的依赖
<dependency>
<groupId>co.aurasphere.botmill</groupId>
<artifactId>fb-botmill</artifactId>
<version>2.0.0-RC3</version>
</dependency>
然后将以下映射添加到您的web.xml
<servlet>
<servlet-name>myFbBot</servlet-name>
<servlet-class>co.aurasphere.botmill.fb.FbBotMillServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myFbBot</servlet-name>
<url-pattern>/myFbBot</url-pattern>
</servlet-mapping>
在类路径中创建botmill.properties文件并添加您的标记。
fb.page.token=<PAGE_TOKEN>
fb.validation.token=<VALIDATION_TOKEN>
在下面创建一个FbBotConfiguration并将所有初始配置(一次配置)放在构造函数上。这也将初始化fb身份验证。
@BotConfiguration
public class MyBotConfiguration extends FbBotConfiguration {
public MyBotConfiguration() {
MessengerProfileApi.setGetStartedButton("get_started");
MessengerProfileApi.setGreetingMessage("Hello!");
List<PersistentMenu> persistentMenus = new ArrayList<PersistentMenu>();
PersistentMenu persistentMenu = new PersistentMenu("default", false);
persistentMenu.addCallToAction(ButtonFactory.createPostbackButton("Menu 1", "menu1"));
persistentMenu.addCallToAction(ButtonFactory.createPostbackButton("Menu 2", "menu2"));
CallToActionNested theNestedMenu = new CallToActionNested("Menu 3 Nested");
theServices.addCallToActionButton(ButtonFactory.createPostbackButton("Nested1", "nested1"));
theServices.addCallToActionButton(ButtonFactory.createPostbackButton("Nested2", "nested2"));
theServices.addCallToActionButton(ButtonFactory.createPostbackButton("Nested3", "nested3"));
persistentMenu.addCallToAction(theNestedMenu);
persistentMenus.add(persistentMenu);
MessengerProfileApi.setPersistentMenus(persistentMenus);
HomeUrl homeUrl = new HomeUrl();
homeUrl.setInTest(true);
homeUrl.setUrl("https://extensionlink.co");
homeUrl.setWebviewHeightRatio(WebViewHeightRatioType.TALL);
homeUrl.setWebviewShareButton(WebViewShareButton.SHOW);
MessengerProfileApi.setHomeUrl(homeUrl);
}
}
然后创建以下类以添加响应。
@Bot
public class MyBotClass extends FbBot {
@FbBotMillController(eventType=FbBotMillEventType.MESSAGE, text="Hi",caseSensitive = true)
public void sendMessage(MessageEnvelope envelope) {
reply(new MessageAutoReply("Hello World!"));
}
}
配置Facebook App
使用'页面访问令牌'并在botmill.properties文件中使用随机生成的字符串作为'验证令牌'
注意:要与Facebook Messenger连接,我们需要启用SSL的服务器。 因此,要使用Heroku测试应用程序,请执行以下步骤。
测试新的Chatbot
答案 1 :(得分:0)
他们的官方API / SDK文档列出了多个第三方java sdks。 https://developers.facebook.com/docs/apis-and-sdks