2015-03-03 135 views
0

每次我在Facebook上註銷自己的帳戶時,應用程序中連接的帳戶(同一帳戶)也會註銷。這是預期的嗎?在應用程序上連接Facebook

我希望能拿出類似Hootsuite的功能,首先從Facebook開始。

這是我的代碼。

<div id="fb-root"></div> 
 
<script> 
 
var app_id='{!#SETTINGS.facebook_api_key#value}'; 
 

 
function statusChangeCallback(response) { 
 
\t console.log('statusChangeCallback'); 
 
\t console.log(response); 
 
\t if (response.status === 'connected') { 
 
\t \t console.log('The user is connected.'); 
 
\t \t var fb_access_token = response.authResponse.accessToken; 
 
\t \t console.log(fb_access_token); 
 
\t \t rbf_setFieldValue("facebook_access_token", fb_access_token); 
 
\t } else if (response.status === 'not_authorized') { 
 
\t \t console.log('The user is not authorized.'); 
 
\t } else { 
 
\t \t console.log('The user is not logged in.'); 
 
\t \t FB.login(function(response) { 
 
\t \t \t console.log('Logging in.'); 
 
\t \t \t var fb_access_token = response.authResponse.accessToken; 
 
\t \t \t console.log(fb_access_token); 
 
\t \t \t rbf_setFieldValue("facebook_access_token", fb_access_token); 
 
\t \t }, {scope: 'public_profile, manage_pages, publish_actions, user_groups'}); 
 
\t } 
 
} 
 

 
function checkLoginState() { 
 
\t FB.getLoginStatus(function(response) { 
 
\t \t statusChangeCallback(response); 
 
\t }); 
 
} 
 

 
window.fbAsyncInit = function() { 
 
\t FB.init({ 
 
\t \t appId  : app_id, 
 
\t \t cookie  : true, 
 
\t \t xfbml  : true, 
 
\t \t version : 'v2.1' 
 
\t }); 
 

 
\t FB.getLoginStatus(function(response) { 
 
\t \t statusChangeCallback(response); 
 
\t }); 
 
}; 
 

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

回答

0

明白了。

我的錯誤是我用FB.ui發佈到Facebook,它需要發佈Facebook帳戶。

解決方案是使用FB.api並傳遞用戶/頁面訪問令牌,以便您無需用戶登錄即可發佈。

function postToSocialTimeline() { 
 
    try { 
 
    var obj = { 
 
     name: name, 
 
     description: description, 
 
     link: link, 
 
     picture: picture, 
 
     caption: caption, 
 
     message: "Test", 
 
     access_token: accessCode 
 
    }; 
 

 
    function resp(response) { 
 
     console.log('Cancelled'); 
 
     } //FB.ui(obj, resp); 
 

 
    FB.api('/me/feed', 'POST', obj, function(response) { 
 
     if (!response || response.error) { 
 
     console.log(!response ? 'error occurred' : response.error); 
 
     console.log('Error'); 
 
     alert('Unable to post to Facebook!'); 
 
     return; 
 
     } else { 
 
     alert('Requisition has been successfully posted!'); 
 
     } 
 
    }); 
 
    } catch (e) {} 
 
}

相關問題