Какую кнопку входа в Facebook я использую и почему? - PullRequest
0 голосов
/ 07 марта 2012

Я начал разработку веб-сайта, который имеет интеграцию с Facebook, и, кажется, он работает нормально при использовании Javascript SDK.Я показал имя пользователя и аватарку в порядке.Затем я везде прочитал, что лучше всего использовать JS для установления соединения аутентификации и использовать PHP SDK для более легкого запуска API.

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

Например:

<code>    <?php if (!$user) { ?>
    <div class="fb-login-button" data-perms="email,user_birthday">Login with Facebook</div>
<?php } else { ?>

    Your user profile is
    <pre>
    <?php //print htmlspecialchars(print_r($user_profile, true)) ?>
    
"Привет Woghfd!");$ status = $ facebook-> api ("/ me / feed", "POST", $ data);// echo $ user;?>

1 Ответ

1 голос
/ 07 марта 2012

Документация гласит:

Платформа Facebook поддерживает два разных потока OAuth 2.0 для пользователя. login: на стороне сервера (известный как поток кода аутентификации в спецификация) и на стороне клиента (известный как неявный поток). Серверный поток используется всякий раз, когда вам нужно вызвать Graph API из ваш веб-сервер. Поток на стороне клиента используется, когда вам нужно сделать вызовы Graph API от клиента, такие как JavaScript, запущенный в Веб-браузер или из собственного мобильного или настольного приложения.

Что делает это довольно ясным: если вы хотите использовать api-график на стороне сервера, используйте поток на стороне сервера, если вы хотите выполнять вызовы api на стороне клиента, используйте поток на стороне клиента. Конечно, вы можете использовать поток на стороне сервера для аутентификации, а затем взаимодействовать с графиком api через js sdk или наоборот, но имеет смысл сделать это так, как они написали.

Использование кнопок входа в систему означает использование потока на стороне клиента с помощью js sdk. Две разные формы кнопок, которые вы написали, в основном одинаковы, как говорится в документации :

Using the new JavaScript SDK, the plugin is available via the <fb:login-button> XFBML tag or the <div class="fb-login-button"> HTML tag.

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

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