2015-03-03 138 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) {} 
 
}

相关问题