Как вы получаете информацию пользователя facebook и вставляете ее в базу данных?

Я не был уверен, как его спросить, но я пытаюсь научить себя, как создать программу, которая использует график api. Большинство учебных пособий, которые я видел, старше, и я не знаю, насколько они актуальны сейчас. По сути, я пытаюсь получить «вещь», когда кто-то нажимает мое приложение, он говорит, что это приложение требует вашего имени пользователя и т. Д., А затем «Разрешить или не разрешать».

Я хочу, чтобы он принял информацию, а затем я могу вставить ее в базу данных. Я использую php и имею домен.

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

Прошу прощения за неопределенный вопрос, и я обыскал. Не прося написать мой код для меня, просто укажите мне в правильном направлении, может быть, в современный учебник, делающий то, что я прошу. Благодарю.

Solutions Collecting From Web of "Как вы получаете информацию пользователя facebook и вставляете ее в базу данных?"

(1) Создайте приложение Facebook отсюда http://developers.facebook.com/apps и настройте его в своем домене. Этот шаг очень прост, поместите любое пространство имен, которое вы хотите, это будет ваше имя приложения, а затем убедитесь, что ваше приложение будет использоваться как приложение и страница входа (не страница поклонника или что-то связанное) и, наконец, укажите URL-адрес (оставьте URL холста пустым ), в котором вы будете использовать Facebook API (я думаю, что этот URL-адрес должен быть под HTTPS, но я не знаю, почему Facebook все еще разрешает HTTP, поэтому не беспокойтесь).

Конфигурация входа:

Просто укажите URL: http://yourdomain.com/

Конфигурация приложения:

например: http://www.mydomain.com/myfacebookapp/

Итак, когда пользователь переходит к:

http://apps.facebook.com/yourappName

Означает, что он действительно посещает первую ссылку и в этом index.php вам нужно будет делать все снизу. Чтобы знать, на этом этапе вы также можете установить логотип для своего приложения, управлять администраторами своего приложения и получить свой идентификатор приложения и секретность, который вам нужно будет использовать далее в вашем файле PHP.

(Если вы запутались на этом шаге, вы можете выполнить поиск Google, эту конфигурацию легко найти и на YouTube)

(2) Я всегда использую эти файлы, чтобы связать свою среду PHP с API Facebook, вы можете скачать ее здесь: https://www.dropbox.com/s/itw4pav1f7a9vez/files.rar

(3) Поместите эти файлы в папку с именем fb.

(4) Я покажу вам способ получить данные и изображения от пользователя, но сначала он / она должен позволить вашему приложению получать информацию от него / нее, войдя в ваше приложение. Итак, для этого примера я буду использовать простую кнопку для входа.

(Не забудьте заменить свой идентификатор приложения и секрет – «xxx» и «yyy»)

 <?php require 'fb/facebook.php'; // Create our Application instance (replace this with your appId and secret). $facebook = new Facebook(array( 'appId' => 'xxx', 'secret' => 'yyy', )); // Get User ID $user = $facebook->getUser(); if ($user) { try { // Proceed knowing you have a logged in user who's authenticated. $user_profile = $facebook->api('/me'); } catch (FacebookApiException $e) { error_log($e); $user = null; } } // Login or logout url will be needed depending on current user state. if ($user) { $logoutUrl = $facebook->getLogoutUrl(); } else { $loginUrl = $facebook->getLoginUrl(); } ?> <html xmlns:fb="http://www.facebook.com/2008/fbml"> <head> <title>Facebook PHP SDK</title> </head> <body> <h1>Facebook PHP SDK</h1> <?php if ($user): ?> <a href="<?php echo $logoutUrl; ?>">Logout</a> <?php else: ?> <div> Login using OAuth 2.0 handled by the PHP SDK: <a href="<?php echo $loginUrl; ?>">Login with Facebook</a> </div> <?php endif ?> <h3>PHP Session</h3> <pre><?php print_r($_SESSION); ?></pre> <?php if ($user): ?> <h3>You</h3> <img src="https://graph.facebook.com/<?php echo $user; ?>/picture"> <h3>Your User Object (/me)</h3> <pre><?php print_r($user_profile); ?></pre> <?php else: ?> <strong><em>You are not Connected.</em></strong> <?php endif ?> </html> 

(5) В приведенном выше примере используется PHP PHP SDK без javascript. Итак, если пользователь хочет войти в систему и авторизировать ваше приложение, чтобы получить его / ее информацию, вся страница будет перенаправлена ​​на страницу разрешений на Facebook вашего приложения, а затем вернется на главную страницу вашего приложения Facebook (указано в конфигурации, когда вы создали свое приложение).

(6) Следующий код будет делать то же, что и выше, но с помощью javascript и пользовательской кнопки входа в систему Facebook, которая позволяет вам устанавливать специальные разрешения, как вы писали в своем вопросе. Другое отличие заключается в том, что вместо перенаправления всей страницы появится всплывающее окно.

(Не забудьте заменить свой идентификатор приложения и секрет – «xxx» и «yyy»)

 <?php require 'fb/facebook.php'; $facebook = new Facebook(array( 'appId' => 'xxx', 'secret' => 'yyy', )); // See if there is a user from a cookie $user = $facebook->getUser(); if ($user) { try { // Proceed knowing you have a logged in user who's authenticated. $user_profile = $facebook->api('/me'); $logoutUrl = $facebook->getLogoutUrl(); } catch (FacebookApiException $e) { $user = null; } } else { $loginUrl = $facebook->getLoginUrl(); } ?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Facebook PHP SDK</title> </head> <body> <fb:login-button size="small" onlogin="after_login_button()" scope="email, user_about_me, user_birthday, user_status, publish_stream, user_photos, read_stream, friends_likes">Login with facebook</fb:login-button> <div id="fb-root"></div> <script> window.fbAsyncInit = function() { FB.init({ appId: '<?php echo $facebook->getAppID() ?>', cookie: true, xfbml: true, oauth: true }); /* This is used with facebook button */ FB.Event.subscribe('auth.login', function(response) { if (response.authResponse) { // Specify the login page (the page in which your fb login button is situated) window.location = 'main.php'; } }); FB.Event.subscribe('auth.logout', function(response) { window.location = 'logout.php'; }); }; (function() { var e = document.createElement('script'); e.async = true; e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js'; document.getElementById('fb-root').appendChild(e); }()); function after_login_button(){ FB.getLoginStatus(function(response) { if (response.status=="connected") { // If user is connected, redirect to this page window.location = 'main.php'; } }, true); } </script> </body> </html> 

(7) Как вы можете видеть, атрибут scope в кнопке входа в facebook определяет, какие специальные разрешения и информация вам потребуется от пользователя, например, его / ее электронной почты (который всегда является конфиденциальным).


(8) Чтобы что-то добавить, вы можете получить только общедоступную информацию от кого-то, кого знаете свой идентификатор, используя следующий код:

(Предположим, что ваша страница вашего друга на Facebook: http://www.facebook.com/foobar или как: http://www.facebook.com/users/profile/1002020300010 )

 //For example: your facebook friend's page is http://www.facebook.com/foobar $myFriend = $facebook->api('/foobar'); //For example: your facebook friend's page is http://www.facebook.com/users/1002020300010 $myFriend = $facebook->api('/1002020300010'); //Print information like your friend's name: echo $myFriend['name']; //Print all information captured: print_r($myFriend); 

И чтобы получить картину вашего друга:

 <img src="https://graph.facebook.com/foobar/picture"> 

Или:

 <img src="https://graph.facebook.com/1002020300010/picture"> 

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

Надеюсь это поможет 🙂

Кажется, что вы ищете создание аутентификации (входа) с помощью Facebook.

Вы можете захотеть проверить Opauth , он обрабатывает все это для вас и возвращает вам информацию о пользователе в массиве, которую вы можете легко вставить в базу данных.

См. http://opauth.org для быстрой демонстрации и загрузки библиотеки, содержащей образец кода.

Учитывая, что вы используете классы PHP SDK, предоставленные Facebook здесь

Вы можете сделать что-то подобное

 $fb = new Facebook(array( 'appId' => 'YOUR_APP_ID', 'secret' => 'YOUR_APP_SECRET' )); $userData = $fb->api('/me','GET'); $userData = serialize($userData); //now userdata is a string, so, insert into the database. 

Помните, что в конфигурации приложения вы должны указать тип информации, которую вы хотите от пользователя.

Вы можете использовать php API и язык запросов, который предоставляет facebook (FQL). Вот ссылка, которая содержит примеры запросов и учебников http://developers.facebook.com/docs/reference/fql/