2014-01-06 5 views
1

Я хочу получить идентификатор страницы из Facebook на вкладке вкладки специальной страницы. Вот код, с которым я работаю. Это правильный способ получить идентификатор страницы из Facebook. Я могу получить идентификатор доступа и идентификатор пользователя, используя этот код. Любая помощь приветствуется.Как получить идентификатор страницы facebook с помощью javascript sdk?

window.fbAsyncInit = function() { 
    FB.init({ 
     appId: 'xxxxxxxxx', 
     status: true, 
     cookie: true, 
     xfbml: true 
    }); 

    FB.Event.subscribe('auth.authResponseChange', function (response) { 
     // Here we specify what we do with the response any time this event occurs. 
     if (response.status === 'connected') {                   
     } else if (response.status === 'not_authorized') { 
      //FB.login(); 
     } else { 
      //FB.login(); 
     } 
    }); 
}; 
// Load the SDK asynchronously 
(function (d) { 
    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0]; 
    if (d.getElementById(id)) { return; } 
    js = d.createElement('script'); js.id = id; js.async = true; 
    js.src = "//connect.facebook.net/en_US/all.js"; 
    ref.parentNode.insertBefore(js, ref); 
} (document)); 

$('.btnclick').click(function() { 
    fblogin(); 
}); 

function fblogin() {   
    //FB.login(); 
    FB.login(function (response) { 
     if (response.authResponse) {     
      var sq = FB.getAuthResponse()['signedRequest']; 
      var data = sq.split('.')[1]; 
      data = JSON.parse(atob(data)); 
      alert(data);     
     } else { 
      alert('User cancelled login or did not fully authorize.'); 
     } 
    }, { scope: 'user_location,user_hometown,user_photos,friends_photos,friends_location,friends_hometown,email,user_likes,publish_actions,manage_pages', display: 'popup' }); 
} 
+0

Эта ссылка может вам помочь: https://developers.facebook.com/docs/reference/login/signed-request/ - вы можете найти идентификатор страницы в подписанном запросе. – Jurik

+0

Я знаю, что он возвращает несколько параметров, но все, что я получаю от signed_request, - это некоторый код, issu_at и userid –

+0

Да и в этом «некотором коде» указаны детали страницы в формате json: 'содержащий строку идентификатора страницы, понравившуюся boolean (устанавливается в true, если пользователю понравилась страница, false, если нет) и admin boolean' – Jurik

ответ

0

Шаг 1: получить разрешение manage_pages

шаг 2:

FB.api('/me?fields=accounts', function (apiResponse) { 
     //apiResponse will have page id inside apiResponse.accounts.data 
    }); 

'/ меня поля = счета?' - учетная запись используется для получения FB PageId

Для Getting страница с идентификационным номером страницы

FB.api('/ page id ?fields=about,albums{link},photos{link},phone,location,single_line_address', function (page) { 
       //To get page details from page id 
      });