Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Facebook个人资料数据的推荐系统_Facebook_Facebook Graph Api - Fatal编程技术网

使用Facebook个人资料数据的推荐系统

使用Facebook个人资料数据的推荐系统,facebook,facebook-graph-api,Facebook,Facebook Graph Api,因此,我正在创建一个推荐系统,根据Facebook个人资料数据发布推荐。因此,我为用户设置了一个基本框架,让用户通过Facebook connect登录,授权对应用程序的权限,并登录到重定向页面,该页面以JSON格式将用户配置文件数据显示为一系列数组(我在下面粘贴了这些数组)。因此,现在我需要创建一个设置,根据特定数据段发布建议。例如:如果用户去了这所学校,或者主修这所学校,或者住在这里,或者是这所学校,那么推荐这个。我习惯于在PHP中使用变量,通常是通过手动提交的表单。那么,我如何将这些数据输

因此,我正在创建一个推荐系统,根据Facebook个人资料数据发布推荐。因此,我为用户设置了一个基本框架,让用户通过Facebook connect登录,授权对应用程序的权限,并登录到重定向页面,该页面以JSON格式将用户配置文件数据显示为一系列数组(我在下面粘贴了这些数组)。因此,现在我需要创建一个设置,根据特定数据段发布建议。例如:如果用户去了这所学校,或者主修这所学校,或者住在这里,或者是这所学校,那么推荐这个。我习惯于在PHP中使用变量,通常是通过手动提交的表单。那么,我如何将这些数据输出(我显然不希望在最终产品的浏览器上显示)转换为服务器端的变量,以便创建if-else语句来发布建议呢。我会使用Facebook对象ID号而不是文本,也就是说,我会通过Facebook ID而不是UCF或Finance等实际名称来识别学校或专业

因此,基本上有两件事我正在努力完成。1.从浏览器中取出数据,在服务器端用PHP进行分析。2.将数据转换成某种形式,我可以单独(或集体)调用if_else语句来发出if else语句表达式(最好是在PHP中)。现在,下面的数据是通过$userInfo集体调用的,因此无法单独调用任何数据

我从用户配置文件中调用了相当多的数据,因此我知道这是一项困难的任务,而且我对编程比较陌生(大约9个月)。我好像完全迷路了。任何指导都将不胜感激

当前如何通过图形API调用数据:

if ($user){
        //get user basic description
        $userInfo           = $facebook->api("/$user");
数据在客户端的显示方式:

 <td>
                <!-- Data retrived from user profile are shown here -->
                <div class="box">
                    <b>User Information using Graph API</b>
                    <?php d($userInfo); ?>
                </div>
            </td>

经过一些故障排除,我发现了一个简单但难以实现的解决方案。首先,您需要立即初始化SDK,如下所示:

<?php
require_once('php-sdk/facebook.php');

$config = array(
'appId' => 'XXXXXXXXXXXXXXXXXX',
'secret' => 'XXXXXXXXXXXXXXXX',
);

$facebook = new Facebook($config);
$user_id = $facebook->getUser();
?>

然后,我们确保用户当前已登录,并在用户未登录时提示他们登录:

<?
if($user_id) {

  // We have a user ID, so probably a logged in user.
  // If not, we'll get an exception, which we handle below.
  try {

    $user_profile = $facebook->api('/me','GET');


  } catch(FacebookApiException $e) {
    // If the user is logged out, you can have a 
    // user ID even though the access token is invalid.
    // In this case, we'll get an exception, so we'll
    // just ask the user to login again here.
    $login_url = $facebook->getLoginUrl(); 
    echo 'Please <a href="' . $login_url . '">login.</a>';
    error_log($e->getType());
    error_log($e->getMessage());
  }   
} else {

  // No user, print a link for the user to login
  $login_url = $facebook->getLoginUrl();
  echo 'Please <a href="' . $login_url . '">login.</a>';

}

?>

<?
if($user_id) {

  // We have a user ID, so probably a logged in user.
  // If not, we'll get an exception, which we handle below.
  try {

    $user_profile = $facebook->api('/me','GET');


  } catch(FacebookApiException $e) {
    // If the user is logged out, you can have a 
    // user ID even though the access token is invalid.
    // In this case, we'll get an exception, so we'll
    // just ask the user to login again here.
    $login_url = $facebook->getLoginUrl(); 
    echo 'Please <a href="' . $login_url . '">login.</a>';
    error_log($e->getType());
    error_log($e->getMessage());
  }   
} else {

  // No user, print a link for the user to login
  $login_url = $facebook->getLoginUrl();
  echo 'Please <a href="' . $login_url . '">login.</a>';

}

?>
<?php
if ($user_profile['education'][0]['school']['id']=='111894272160018') {
    echo "Finally. It worked";
}