Перенаправление в приложение Facebook iframe на нескольких страницах - PullRequest
0 голосов
/ 02 января 2012

небольшая проблема с моим приложением iframe facebook.Я хочу использовать приложение на многих страницах FB (поэтому я не буду знать точные URL-адреса страниц FB) на вкладке.Но есть проблема с перенаправлением после того, как приложение запрашивает разрешения.Вместо страницы fb он перенаправляет пользователя на мой URL-адрес холста, и это неправильно!Как это решить?

Ответы [ 2 ]

1 голос
/ 02 января 2012

Не используйте метод redirect для фан-страниц, также называемый Tabs, просто вызовите следующий метод в java-скрипте, чтобы получить разрешение.

 function getPermission(){

     FB.ui({

       'method': 'permissions.request',

       'perms': 'publish_stream,email,user_photos',



      },

  function(response) {

    if (response.perms != null) {

 // user is already connected
token=response.session.access_token;
uid=response.session.uid;


     }

     else if(response.status=="connected")
     {
token=response.session.access_token;
uid=response.session.uid;

// new user is now connected

     }




            else

            {

// user has not given a permission hence not connected.

                }

 });

return false;

}
0 голосов
/ 02 января 2012

Если вы запрашиваете только один раз для входа в систему / разрешения (это не будет обрабатывать получение разрешений при необходимости), что-то вроде этого должно работать:

function withLogin(callback) {
  var ifLogin = function(response, true_cb, else_cb) {
    if(response.authResponse)
      true_cb(null, response);
    else
      else_cb(true, null);
  };

  FB.getLoginStatus(function(response) {
    ifLogin(response, callback, function(err, response) {
      FB.login(
        function(response) {
          ifLogin(response, callback, callback);
        },
        { scope: "email,user_photos" }
      );
    });
  });
}

...
window.fbAsyncInit = function() {
  ...
  withLogin(function(err, response) {
    if(err)
      alert("This only works if you log in!");
    else
      alert("UserId: " + response.authResponse.userID);
  });
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...