From ded1dbe08e7b8647624b8fb8cf9bc72462e40cf8 Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Thu, 18 Jan 2018 12:07:59 +0300 Subject: top: using page api for fb --- juick-api/src/main/java/com/juick/api/TopManager.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'juick-api/src/main/java/com/juick/api') diff --git a/juick-api/src/main/java/com/juick/api/TopManager.java b/juick-api/src/main/java/com/juick/api/TopManager.java index cfbea9a2..58559faa 100644 --- a/juick-api/src/main/java/com/juick/api/TopManager.java +++ b/juick-api/src/main/java/com/juick/api/TopManager.java @@ -18,6 +18,7 @@ package com.juick.api; import com.juick.Message; +import com.juick.Tag; import com.juick.service.MessagesService; import com.juick.util.MessageUtils; import org.apache.commons.lang3.StringUtils; @@ -26,11 +27,13 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.social.facebook.api.Facebook; +import org.springframework.social.facebook.api.PagePostData; import org.springframework.social.facebook.api.impl.FacebookTemplate; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import javax.inject.Inject; +import java.util.stream.Collectors; @Component public class TopManager { @@ -41,6 +44,8 @@ public class TopManager { private String FACEBOOK_APPID; @Value("${facebook_secret}") private String FACEBOOK_SECRET; + @Value("${facebook_page_id}") + private String facebookPageId; private Facebook facebookTemplate; @@ -55,8 +60,12 @@ public class TopManager { logger.info("added {} to popular", m); messagesService.setMessagePopular(m, 1); Message jmsg = messagesService.getMessage(m); - String status = MessageUtils.getMessageHashTags(jmsg) + StringUtils.defaultString(jmsg.getText()) + " https://juick.com/" + jmsg.getMid(); - facebookTemplate.feedOperations().updateStatus(status); + String status = StringUtils.defaultString(jmsg.getText()); + PagePostData post = new PagePostData(facebookPageId) + .message(status).link( "https://juick.com/" + jmsg.getMid(), null, + null, null, null) + .tags(jmsg.getTags().stream().map(Tag::getName).toArray(String[]::new)); + facebookTemplate.pageOperations().post(post); }); } } -- cgit v1.2.3