我一直在谷歌搜索2天,並找不到任何明確的。我遇到的所有結果都使用不再適用的不推薦使用的代碼。請幫忙。Facebook JS SDK - 在權限檢查後發佈到牆上
我需要一個按鈕,點擊上...
- 檢查延長權限
- 如果權限尚未授予,要求他們(user_likes,offline_access,publish_stream)
- 獲得權限後,發佈後用戶的牆壁
- 允許我推牆的帖子給用戶,而他們是離線
有人可以協助嗎?
我一直在谷歌搜索2天,並找不到任何明確的。我遇到的所有結果都使用不再適用的不推薦使用的代碼。請幫忙。Facebook JS SDK - 在權限檢查後發佈到牆上
我需要一個按鈕,點擊上...
有人可以協助嗎?
這很簡單。您可以調用FB.login來獲得擴展權限。然後你可以調用FB.ui發佈一個狀態(或FB.api調用/ me/feed發佈而不需要用戶交互,這是令人不悅的)。爲了能夠在以後推送牆貼,您需要將access_token存儲在服務器上供以後使用。
<!DOCTYPE html>
<html>
<body>
<div id="fb-root"></div>
<a href="#" onclick="return postToWall();">Post To Wall</a>
<script src="//connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({ appId: '**appID**', status: true, cookie: true, xfbml: true, oauth: true });
function postToWall() {
FB.login(function(response) {
if (response.authResponse) {
FB.ui({
method: 'feed',
name: 'Facebook Dialogs',
link: 'https://developers.facebook.com/docs/reference/dialogs/',
picture: 'http://fbrell.com/f8.jpg',
caption: 'Reference Documentation',
description: 'Dialogs provide a simple, consistent interface for applications to interface with users.'
},
function(response) {
if (response && response.post_id) {
alert('Post was published.');
} else {
alert('Post was not published.');
}
});
} else {
alert('User cancelled login or did not fully authorize.');
}
}, {scope: 'user_likes,offline_access,publish_stream'});
return false;
}
</script>
</body>
</html>
感謝OffBySome這個例子。看着它,我可以看到我非常接近解決方案,但錯過了包含response.authResponse的FB.login。我今晚將實施這個計劃,並報告我的發現。 – Steve
關於offline_access,任何人都可以確認此權限不需要爲了發佈而無需用戶交互?我知道這是一個灰色區域,但用戶知道這會發生,並且必須特別選擇允許它。但是,我的理解是,發佈到離線用戶的牆的能力需要這樣做,因爲自動發佈:true被禁用。使用用戶ID,我只需要包含auth令牌**而不需要**需要offline_access? – Steve
昨天晚上我實現了由OffBySome發佈的示例,並且它運行得非常漂亮。謝謝:) – Steve