我在我的網站上使用Facebook的開放圖形api和JavaScript SDK。我的目標是讓用戶連接到我的網站,然後在我的網站上執行特定操作後,向用戶Facebook流發佈消息。我有facebook連接功能工作得很好。在連接請求電子郵件,publish_stream,offline_access權限期間。我認爲這些都是我想要做的。現在,當用戶通過Facebook連接連接,我確實得到並捕獲Facebook訪問令牌和祕密,雖然我不知道如何處理它們。Facebook Open Graph API調用問題...需要一個活動的訪問令牌?
根據Facebook的僞劣文檔JavaScript的SDK ......做什麼,我試圖做到這一點說,使用下面的代碼:
var body = 'Reading Connect JS documentation';
FB.api('/me/feed', 'post', { message: body }, function(response) {
if (!response || response.error) {
alert('Error occured');
} else {
alert('Post ID: ' + response.id);
}
});
我這樣做只是作爲一個測試和而不是提醒響應,我正在將JSON響應字符串化並寫入控制檯。我只想說的流發佈失敗,響應是這樣的:
{"error":{"type":"OAuthException","message":"An active access token must be used to query information about the current user."}}
如果用戶通過Facebook「連接」到我的網站連接,並接受我指定的所有權限,沒有我有一個有效的訪問令牌?訪問令牌是我必須傳遞給API調用的另一個參數嗎?
感謝您的回覆。我非常確定FB API是完全加載的,因爲我從API調用中獲得有效的JSON。我也有同樣的FB.init({})調用。查看我對@Josh的帖子的評論以獲取更多信息。 – Ryan 2011-04-25 12:58:26
好吧,我看到我的問題。我沒有調用FB.init()。謝謝! – Ryan 2011-04-25 13:35:59
注意:您不應該在頁面加載時使用此方法。一般來說,如果你不確定,使用FB.getLoginStatus()更安全。 (http://developers.facebook.com/docs/reference/javascript/FB.getSession/) – Anton 2011-08-09 05:23:52