2013-11-21 5 views
6

Facebook4J API를 사용하여 페이스 북 페이지에서 모든 게시물 (또는 최근 게시물)을 가져 오는 방법이 있는지 궁금합니다.Facebook4j API를 사용하여 페이지에서 게시물 가져 오기

사용자의 벽이나 피드에서 모든 게시물을 가져 오는 것이 가능하지만 API 또는 페이지에서 게시물을 가져 오는 방법을 보여주는 문서에서 찾을 수없는 항목이 있습니다.

실제로는 페이지 관련 메서드 집합이 있지만 페이지 중 하나를 클릭하면 페이지가 새로 고쳐지기 때문에 계획되었지만 아직 구현되지 않았다고 생각할 수 있습니까?

그래프 API를 사용하여 페이지에서 게시물을 가져 오는 것이 가능하지만 가능하면 Facebook4j를 사용하는 것이 좋습니다.

모든 입력 사항을 매우 높이 평가할 것입니다.

답변

10

Facebook4J는 버전 2.0 이후 페이지 API를 지원합니다.
당신은 페이스 북 # getFeed (PAGE_ID)를 통해 페이스 북 페이지 게시물을 얻을 수 있습니다. 예 :

ResponseList<Post> feed = facebook.getFeed("eclipse.org"); 

의 javadoc : 당신이 액세스 토큰과 https://developers.facebook.com/tools/explorer 를 사용하여 코드에서 다음이 ID의 페이지 ID를 얻을 수 있습니다 참고 : 여기에

11

http://facebook4j.org/javadoc/facebook4j/api/PostMethods.html#getFeed()이 문제에 대한 최소한의 예입니다 :

import facebook4j.Comment; 
import facebook4j.Facebook; 
import facebook4j.FacebookException; 
import facebook4j.FacebookFactory; 
import facebook4j.PagableList; 
import facebook4j.Post; 
import facebook4j.Reading; 
import facebook4j.ResponseList; 
import facebook4j.auth.AccessToken; 

public class PostsFromPageExtractor { 

/** 
* A simple Facebook4J client which 
* illustrates how to access group feeds/posts/comments. 
* 
* @param args 
* @throws FacebookException 
*/ 
public static void main(String[] args) throws FacebookException { 

    // Generate facebook instance. 
    Facebook facebook = new FacebookFactory().getInstance(); 
    // Use default values for oauth app id. 
    facebook.setOAuthAppId("", ""); 
    // Get an access token from: 
    // https://developers.facebook.com/tools/explorer 
    // Copy and paste it below. 
    String accessTokenString = "PASTE_YOUR_ACCESS_TOKEN_HERE"; 
    AccessToken at = new AccessToken(accessTokenString); 
    // Set access token. 
    facebook.setOAuthAccessToken(at); 

    // We're done. 
    // Access group feeds. 
    // You can get the group ID from: 
    // https://developers.facebook.com/tools/explorer 

    // Set limit to 25 feeds. 
    ResponseList<Post> feeds = facebook.getFeed("187446750783", 
      new Reading().limit(25)); 

     // For all 25 feeds... 
     for (int i = 0; i < feeds.size(); i++) { 
      // Get post. 
      Post post = feeds.get(i); 
      // Get (string) message. 
      String message = post.getMessage(); 
          // Print out the message. 
      System.out.println(message); 

      // Get more stuff... 
      PagableList<Comment> comments = post.getComments(); 
      String date = post.getCreatedTime().toString(); 
      String name = post.getFrom().getName(); 
      String id = post.getId(); 
     }   
    } 
} 
+0

가 어떻게 getFeed 페이지 ID를받을 수 있나요 ("187446750783"? –

+0

그러나 우리는 내 자신의 FB (P)에 우리의 다음 줄 것이다 액세스의 APPID 및 appSecret를 하드 코딩하는 경우 해당 코드를 실행하는 사람에게 연령을 알려주십시오. – JGS

+0

우리가 거기에 위의 값을 하드 코딩하지 않음으로써 APPID, appSecret 및 accessToken을 가져올 수있는 다른 방법이 있습니까. – JGS

관련 문제