我正在尝试将facebook页面订阅到我的应用程序。当我登录我的帐户并点击页面名称进行订阅时,它会订阅应用程序,但是当我将帐户切换到其他Facebook帐户时,它会显示我的FB登录页面给我该帐户的页面列表以及何时我点击页面,它说订阅。但该页面实际上没有订阅该应用程序。这是我在订阅网页上的代码。
该应用程序是将页面连接到FB messenger bot。
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'my_app_id',
xfbml : true,
version : 'v2.11'
});
FB.AppEvents.logPageView();
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<script>
function subscribeApp(page_id, page_access_token){
console.log ('Subscribing page!' + page_id);
FB.api(
'/' + page_id + '/subscribed_apps',
'post',
{access_token: page_access_token},
function(response){
console.log(response);
});
}
function myFacebookLogin() {
FB.login(function(response){
console.log('Successfully loggedin', response);
FB.api('/me/accounts', function(response){
console.log('Pages retrived' , response);
var pages = response.data;
var ul = document.getElementById('list');
var len = pages.length;
for( i = 0 ; i<len; i++)
{
var page = pages[i];
var li = document.createElement('li');
var a = document.createElement('a');
a.href = "#";
a.onclick = subscribeApp.bind(this, page.id, page.access_token);
a.innerHTML = page.name
li.appendChild(a);
ul.appendChild(li);
}
});
}, {scope: 'manage_pages'});
}
</script>
<button class="btn btn-primary" onclick="myFacebookLogin()">Get Pages</button>
<ul id="list">
</ul>
我尝试使用页面范围作为manage_pages,pages_messaging,但它没有工作