簡體   English   中英

使用Facebook4j api從頁面獲取帖子

[英]Getting posts from a page using Facebook4j api

我想知道是否有辦法使用Facebook4J API從Facebook頁面獲取所有(甚至最近的)帖子?

我知道可以從用戶的牆上或Feed中獲取所有帖子,但我在API或文檔中找不到任何顯示如何從頁面獲取帖子的內容。

看看http://facebook4j.org/en/api-support.html#page ,看來實際上有一組與頁面相關的方法,但點擊其中任何一個只是刷新頁面,讓我覺得也許他們有計划但尚未實施?

我知道可以使用圖形API從頁面獲取帖子,但如果可能的話,我真的更喜歡堅持使用Facebook4j。

任何投入將不勝感激!

以下是您的問題的最小示例:請注意,您可以從https://developers.facebook.com/tools/explorer獲取訪問令牌和頁面ID。在您的代碼中使用以下ID:

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();
        }           
    }
}

Facebook4J從2.0版開始支持Page API。
您可以通過Facebook#getFeed(PAGE_ID)從Facebook頁面獲取帖子。 例:

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

javadoc: http//facebook4j.org/javadoc/facebook4j/api/PostMethods.html#getFeed()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM