Django SocialRegistration не будет подключаться к FB.login () - PullRequest
0 голосов
/ 21 февраля 2011

После двух дней борьбы с с FB Connect я включил Socialregistration в свой проект, но когда я нажимаю кнопку подключения Facebook, ничего не происходит.Самое странное в том, что он подключился один раз, но с тех пор он этого не сделал.

Onclick вызывает facebookConnect, и FB.login разрывается на handleResponse (второе предупреждение не появляется).Любая помощь с благодарностью.

Спасибо!

<div id="fb-root">
    {% if is_https %}<script src="https://connect.facebook.net/en_US/all.js"></script>{% else %}<script src="http://connect.facebook.net/en_US/all.js"></script>{% endif %}
</div>
<script>
  // initialize the library with the API key
  FB.init({ apiKey: '{{ facebook_api_key }}', status: true, cookie: true, xfbml: true});
  function facebookConnect(form){
        alert('testsss');
        function handleResponse(response){
                    alert('test2');
          form.submit();
      }
      FB.login(handleResponse,{perms:'publish_stream,sms,offline_access,email,read_stream,status_update'});
  }


</script>


{% load socialregistration_tags %}
{% comment %}
<fb:login-button autologoutlink="true" perms="email,user_birthday,status_update,publish_stream"></fb:login-button>
{% endcomment %}

<form class="connect-button" name="login" method="post" action="{% if logged_in %}{% url facebook_connect %}{% else %}{% url facebook_login %}{% endif %}">
{% social_csrf_token %}
{% if next %}
    <input type="hidden" name="next" value="{{ next }}" />
{% endif %}
<input type="image" onclick="alert('tests'); facebookConnect(this.form);return false;" src="http://static.ak.fbcdn.net/images/fbconnect/login-buttons/connect_light_large_long.gif" />
</form>

Ответы [ 2 ]

0 голосов
/ 21 февраля 2011

ИМХО, используя FB Connect из JavaScript, очень сложно сделать правильно, особенно когда вам нужно публиковать обновления статуса в FB и т. Д. Это потому, что слишком легко попасть в ситуацию, когда между пользователями на вашем сайте нет корреляции и пользователь вошел в FB.

Поэтому лично я склонен использовать oauth на основе перенаправления и использовать FB Graph API из бэкэнда, где я могу убедиться, что все в порядке.

0 голосов
/ 21 февраля 2011

Решением было то, что файлы Fb JS были перечислены дважды - один раз в моем base.html и один раз на загружаемой странице.Урок - перечислить файл JS только один раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...