2013-02-20 85 views
5

我有一個可以訪問用戶提要的應用程序。 我對每本教程中的應用程序設置實時更新: http://developers.facebook.com/docs/reference/api/realtime/實時更新後獲取數據

本質上講,當一個用戶帖子的行動,他們的飼料,我成功地接收來自Facebook的信息,我回電話聯繫。信息如下:

{"object":"user","entry":[{"uid":"629498222","id":"629498222","time":1361371026,"changed_fields":["feed"]}]} 

我的煩惱從那裏開始。我在實時更新中閱讀的每篇教程都完全按照這一點完成,而沒有真正解釋如何獲取更新的實際數據。

所以我正在嘗試各種各樣的事情,特別是下面的一段代碼,以獲取用戶的提要,以便我可以訪問最新的帖子。這是在我的回調php文件中:

$app_token_url = 'https://graph.facebook.com/oauth/access_token?client_id=' 
       .$app_id.'&client_secret='.$app_secret 
       .'&grant_type=client_credentials'; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $app_token_url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$res = curl_exec($ch); 
parse_str($res, $token); 

if (isset($token['access_token'])) { 
    curl_setopt($ch, CURLOPT_URL, 'https://graph.facebook.com/629498222/feed' 
           .'?access_token=' 
           .$token['access_token']); 
    $res = curl_exec($ch); 
    if ($res && $res != 'null') { 
    print_r($res); 
    } 
} 

結果與預期不符。我獲取該用戶的帖子,但前提是他們是公開的。即使應用程序可以訪問用戶流,我也不會獲得該用戶的所有帖子。任何想法爲什麼?

任何幫助,非常感謝。我真的需要通過從發佈更新的用戶獲取實際數據來完成實時更新。

+0

您是否擁有擴展用戶訪問令牌? – 2013-05-01 12:49:37

回答

0

實時服務的主要目的是讓應用程序知道他們緩存的數據何時陳舊並應該刷新。它並非旨在成爲「內容訂閱」服務。

因此,當您收到通知時,預計您會再單獨調用更新的信息(例如,下次用戶登錄時)。特別是對於從用戶的流中讀取,可能會出現read_stream權限未授予應用程序令牌的情況,儘管我找不到任何明確的文檔來確認。我發現最近的是此頁面底部的「應用程序訪問令牌的其他功能」https://developers.facebook.com/docs/opengraph/howtos/publishing-with-app-token/