如何通过Facebook Messenger API在Spring Boot应用中发送带超链接的文本消息
在Spring Boot中通过Facebook Messenger API发送带内嵌超链接的文本消息
要实现文本段落里内嵌超链接(不用按钮形式),核心是利用Messenger官方支持的Markdown格式超链接,具体操作如下:
构造消息文本时,使用
[显示文字](目标链接)的格式,比如你需要的示例就写成:您好,您可以使用这个:[CLICK ME](https://your-target-url.com)在Spring Boot里发送请求到Messenger API:
用WebClient或者RestTemplate构造POST请求,请求体结构示例(JSON格式):{ "recipient": { "id": "用户的Facebook PSID" }, "message": { "text": "您好,您可以使用这个:[CLICK ME](https://your-target-url.com)" } }对应的Spring Boot代码片段(以WebClient为例):
import org.springframework.web.reactive.function.client.WebClient; // 初始化WebClient WebClient webClient = WebClient.create("https://graph.facebook.com/v18.0"); // 发送消息 webClient.post() .uri("/me/messages?access_token=你的页面访问令牌") .bodyValue("{\"recipient\":{\"id\":\"用户PSID\"},\"message\":{\"text\":\"您好,您可以使用这个:[CLICK ME](https://your-target-url.com)\"}}") .retrieve() .bodyToMono(String.class) .subscribe();注意事项:
- 确保你的Facebook应用已验证链接域名(在应用设置的「Messenger平台」→「白名单域名」里添加),否则链接可能被Messenger屏蔽。
- URL要做正确的编码,避免特殊字符导致解析失败。
- 可以先通过Facebook Graph API Explorer发送测试消息,确认格式正常显示后再集成到Spring Boot代码中。
内容的提问来源于stack exchange,提问作者antonia simionescu
相关产品推荐
相关产品推荐

