2013-04-05 74 views
0

需要幫助試圖從粉絲頁面上獲得帖子/牆上帖子,這是在Facebook上age-gated以顯示在我的網站上。Facebook粉絲頁面飼料在網站(年齡受保護)

粉絲頁面的年齡門控只讓那些17歲以上的人看到它(當他們登錄到Facebook)。但是,我的網站位於年齡門(本地)後面,所以我想在我的網站上顯示該Facebook頁面的帖子。

我以前見過它,但我永遠無法看到該人的代碼,以查看他/她是如何做到的,我無法找到任何已嘗試或成功將其關閉的人。

我創建Facebook上的應用程序,綁到我的帳戶,即能看到在Facebook上的任何網頁(無論是年齡限制與否):

這裏是我的代碼

<?php 

function fetchUrl($url){ 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_TIMEOUT, 20); 

$feedData = curl_exec($ch); 
curl_close($ch); 

return $feedData; 

} 

$profile_id = "(Page id)"; 

//App Info, needed for Auth 
$app_id = "123456789"; 
$app_secret = "123456789abcdefghij"; 

$authToken = fetchUrl("https://graph.facebook.com/oauth/access_token?type=client_cred&client_id={$app_id}&client_secret={$app_secret}"); 

$json_object = fetchUrl("https://graph.facebook.com/{$profile_id}/posts?{$authToken}"); 




$feedarray = json_decode($json_object); 

echo $json_object; 

foreach ($feedarray->data as $feed_data) 
{ 
    echo "<h2>{$feed_data->name}</h2><br />"; 
    echo "{$feed_data->message}<br /><br />"; 
} 

    ?> 

該代碼適用於沒有年齡門限的頁面,但是那些做了,它返回爲無效(由於$ authToken沒有返回任何內容,因此JSON無法處理任何內容)。

任何人都想幫助我弄清楚這一點嗎?

+0

看起來您正在使用應用訪問令牌。我對麼? – 2013-04-05 03:14:12

+0

是的。有不同的方法嗎? – Keoki 2013-04-05 15:50:56

回答

0

大部分與該應用程序訪問令牌訪問的頁面僅限於從公衆的Facebook頁面檢索數據時,一個任何人都可以無需登錄打開。 但對於這裏的特殊情況下,帖子要拉,都來自年齡門控頁。所以Facebook要求你登錄(如果你還沒有),以便它可以決定顯示或不顯示該頁面。 同樣也documented爲:

閱讀頁面,您需要:

  1. 公衆和非人口統計學限制網頁應用程序或用戶訪問令牌
  2. 爲受限制的頁面用戶的access_token即當前用戶能夠查看(無需特殊權限)

因此,您需要使用utili ze 用戶訪問令牌訪問該頁面,以便Facebook可以允許您的應用程序訪問Page的帖子。

+0

我如何着手在代碼中完成這項工作?我的網站上沒有任何Facebook登錄/用戶登錄。 – Keoki 2013-04-05 18:31:14

+0

這樣做會有問題嗎?另外請注意[平臺政策](https://developers.facebook.com/policy/),其中指出:「您不得規避(或聲稱規避)我們對核心Facebook功能和功能的預期限制。」# – 2013-04-06 04:33:25

+0

問題你在說什麼? – Keoki 2013-04-08 15:41:23