2015-08-28 63 views
2

我正在爲業務構建網站。該業務目前有一個Facebook頁面。在我創建的網站上,我需要展示最新的Facebook帖子。從Facebook頁面獲取最新帖子,並使用新的Graph API在網站上顯示僅JavaScript

谷歌搜索引導我採用折舊方法,Facebook說現在要使用新的Graph API,但我從沒有Facebook API經驗開始,因此發現它壓倒性的,可以使用一些幫助。

這是我的位置。

我這樣做沒有作爲一個單一的頁面網站沒有服務器端語言,所以我只使用JavaScript。到目前爲止,我已經在我的身體標記之後獲得了FB JS SDK腳本,併爲我的頁面設置了應用程序ID設置。

<script> 
    window.fbAsyncInit = function() { 
     FB.init({ 
      appId: 'your-app-id', // except real id 
      xfbml: true, 
      version: 'v2.4' 
     }); 
    }; 

    (function (d, s, id) { 
     var js, fjs = d.getElementsByTagName(s)[0]; 
     if (d.getElementById(id)) { return; } 
     js = d.createElement(s); js.id = id; 
     js.src = "//connect.facebook.net/en_US/sdk.js"; 
     fjs.parentNode.insertBefore(js, fjs); 
    }(document, 'script', 'facebook-jssdk')); 
</script> 

我已將我的FB應用程序與我的FB頁面鏈接起來。現在我需要在我的網站上顯示最近的帖子。

+2

隨着API第2版,您需要一個訪問令牌來請求這種數據。所以如果你只想做那個客戶端,那麼你必須先讓用戶用他們的FB賬戶登錄。在服務器端,您可以使用您的應用程序訪問令牌或頁面訪問令牌 - 但這些絕不能在客戶端代碼中公開。除此之外,你唯一的選擇是使用頁面插件 - 它可以顯示頁面的最後X個帖子。 – CBroe

+0

謝謝,我想頁面插件是唯一的方法,所以這在技術上是答案,如果你想回答這個問題。 – SomeRandomDeveloper

回答

1
FB.api(
    "/{page-id}/feed", 
    function (response) { 
     if (response && !response.error) { 
     /* handle the result */ 
     } 
    } 
); 

來源:https://developers.facebook.com/docs/graph-api/reference/v2.4/page/feed

你可以只使用以下API調用來獲取只有一個條目:

/{page-id}/feed?limit=1 
+0

感謝您的幫助。我發現這隻適用於我有用戶登錄到他們不是的網站。就像Cbroe說的,我不得不使用頁面插件。 – SomeRandomDeveloper

+3

這是不正確的,而不是CBroe所說的。您可以使用應用訪問令牌,無需任何用戶登錄。你只需要使用應用令牌服務器端。 – luschn

相關問題