2013-11-14 88 views
2

我使用此功能來初始化UI feed以在我的網站上發佈我的牆上的內容。 :FB ui feed在牆上張貼消息後得到消息

FB.ui({ 
     method: 'feed', 
     name: myname, 
     link: window.location.href, 
     picture: mypic, 
     caption: '', 
     description: desc 
    },function(response){} 
    }); 

我需要執行回調內部的回調中,我可以檢索插入的Facebook對話中的我,我在尋找,但沒有找到一種方式來獲得它的消息,我也試着將keydown事件委託給對話框的textarea,但它不起作用。

我該如何解決這個問題?

+0

你想檢索創建的實際文章? – Lix

+0

我想要從用戶那裏獲取消息,比如「分享視頻時看這個真棒視頻」。 – steo

回答

5

爲了從對話框中創建的帖子中提取數據,您可以從對話框提供的回調函數中檢索post_id。在回調中,您可以檢查response對象。它將包含post_id,前提是該帖子已成功創建。

有了這個post_id可以執行額外的調用API,並提供post_id`作爲終點:

https://graph.facebook.com/POST_ID 

與JavaScript SDK:

FB.api('/POST_ID', function(response) { 
    console.log(response); 
}); 

看看的響應對象來自第二個呼叫,它看起來像這樣:

{ 
    "id": "POST_ID", 
    "from": { 
    "name": "Lix", 
    "id": "XXXYYY" 
    }, 
    "message": "Checkout this awesome link!", 
    "picture": "https://fbexternal-a.akamaihd.net/...", 
    ... 
} 

正如你所看到的,該消息被包含在響應中,所以要提高我前面的例子:

FB.api('/POST_ID', function(response) { 
    if (response){ 
    console.log(response.message); 
    } 
}); 

現在我們可以用FB.ui電話把它放在一起:

FB.ui({ 
     method: 'feed', 
     ... 
    },function(response){ 
     if (response && response.post_id){ 
     FB.api('/' + response.post_id, function(response) { 
      console.log(response); 
     }); 
     } 
    } 
    }); 
+0

真的很感謝你的傢伙,它的作品 – steo

+1

真棒:-)高興地幫助。快樂的編碼! – Lix