Facebook FBML кнопка входа не работает с перми - PullRequest
5 голосов
/ 11 августа 2011

Недавно я столкнулся с проблемой при обновлении до новых php и js sdk

до того, как кнопка входа в систему, приведенная ниже, работала нормально, и диалоговое окно появилось, чтобы пользователь мог предоставить разрешение.

<fb:login-button perms="email,user_about_me,user_interests,user_location,publish_stream,read_stream,offline_access,publish_checkins">Connect Facebooks</fb:login-button>

Теперь диалоговое окно не всплывает, но если я уберу «perms» и использую эту кнопку

<fb:login-button">Connect Facebook</fb:login-button>

, диалоговое окно действительно всплывает.есть идеи?

1 Ответ

7 голосов
/ 11 августа 2011

Обновление: Ошибка, вызвавшая эту проблему, была решена , поэтому лучше всего использовать <fb:login-button> все же, но изменить «perms» на «scope», чтобы соответствовать последнейИзменения API:

<fb:login-button
    scope="email, user_about_me, user_interests, user_location,
    publish_stream, read_stream, offline_access, publish_checkins">
    Connect Facebooks
</fb:login-button>

Если после этого вы все еще видите проблемы или хотите использовать альтернативный стиль кнопки входа: на самом деле в <fb:login-button> нет ничего особенного, это просто простой способ визуализации кнопки входа,которая (в основном) вещь, которая вызывает FB.login() при нажатии.Вы можете сделать свою собственную кнопку входа в систему немного больше, выполнив что-то вроде:

<a id="fb_login_button" href="#" 
      onclick="FB.login(function(){ /* this is a callback function */ },
      {scope: 'email, user_about_me, user_interests, user_location,
       publish_stream, read_stream, offline_access, publish_checkins'});
       return false;">
    <img src="LOGIN_BUTTON_IMAGE.png" alt="Log In with Facebook">
</a>

Где изображение кнопки входа в систему - это любое изображение или текст (вы даже можете использовать снимок экрана с изображением, отображаемым<fb:login-button>).

(примечание: здесь используется inline onclick, так что это не зависит от библиотеки, что не означает, что это хорошая практика)

...