Class InstagramMessageService

java.lang.Object
com.bytedesk.social.instagram.InstagramMessageService

@Service public class InstagramMessageService extends Object
发送消息 Instagram Message Service https://developers.facebook.com/docs/messenger-platform/instagram/features/send-message
  • Field Details

    • instagramConfig

      private final InstagramConfig instagramConfig
    • restTemplate

      private final org.springframework.web.client.RestTemplate restTemplate
    • objectMapper

      private final com.fasterxml.jackson.databind.ObjectMapper objectMapper
    • INSTAGRAM_API_BASE_URL

      private static final String INSTAGRAM_API_BASE_URL
      See Also:
  • Constructor Details

    • InstagramMessageService

      public InstagramMessageService()
  • Method Details

    • sendTextMessage

      public InstagramMessageResponse sendTextMessage(String recipientId, String text)
      发送基本文本消息
      Parameters:
      recipientId - Instagram用户ID (IGSID)
      text - 消息文本 (UTF-8格式,不超过1000字节)
      Returns:
      消息发送结果
    • sendLinkMessage

      public InstagramMessageResponse sendLinkMessage(String recipientId, String link)
      发送链接消息
      Parameters:
      recipientId - Instagram用户ID (IGSID)
      link - 有效格式的网址
      Returns:
      消息发送结果
    • sendMediaShare

      public InstagramMessageResponse sendMediaShare(String recipientId, String postId)
      发送已发布的帖子
      Parameters:
      recipientId - Instagram用户ID (IGSID)
      postId - 帖子的Meta编号
      Returns:
      消息发送结果
    • sendLikeHeart

      public InstagramMessageResponse sendLikeHeart(String recipientId)
      发送心形贴图
      Parameters:
      recipientId - Instagram用户ID (IGSID)
      Returns:
      消息发送结果
    • reactToMessage

      public InstagramMessageResponse reactToMessage(String recipientId, String messageId)
      给消息留下心情 (love)
      Parameters:
      recipientId - Instagram用户ID (IGSID)
      messageId - 要应用心情的消息编号
      Returns:
      操作结果
    • unreactToMessage

      public InstagramMessageResponse unreactToMessage(String recipientId, String messageId)
      移除消息中的心情
      Parameters:
      recipientId - Instagram用户ID (IGSID)
      messageId - 要移除心情的消息编号
      Returns:
      操作结果
    • reactToMessage

      public InstagramMessageResponse reactToMessage(String recipientId, String messageId, String reaction)
      发送自定义心情反应
      Parameters:
      recipientId - Instagram用户ID (IGSID)
      messageId - 要应用心情的消息编号
      reaction - 心情类型 (love, like, wow, haha, sad, angry, care)
      Returns:
      操作结果
    • markAsSeen

      public InstagramMessageResponse markAsSeen(String recipientId)
      发送标记为已读
      Parameters:
      recipientId - Instagram用户ID (IGSID)
      Returns:
      操作结果
    • sendTypingIndicator

      public InstagramMessageResponse sendTypingIndicator(String recipientId)
      发送正在输入状态
      Parameters:
      recipientId - Instagram用户ID (IGSID)
      Returns:
      操作结果
    • stopTypingIndicator

      public InstagramMessageResponse stopTypingIndicator(String recipientId)
      停止正在输入状态
      Parameters:
      recipientId - Instagram用户ID (IGSID)
      Returns:
      操作结果
    • buildApiUrl

      private String buildApiUrl()
      构建API URL
    • sendMessage

      private InstagramMessageResponse sendMessage(String url, Map<String,Object> requestBody)
      发送消息到Instagram API
    • isValidMessageText

      public boolean isValidMessageText(String text)
      验证消息文本长度 (不超过1000字节)
    • isValidUrl

      public boolean isValidUrl(String url)
      验证URL格式