使用Facebook个人资料数据的推荐系统
因此,我正在创建一个推荐系统,根据Facebook个人资料数据发布推荐。因此,我为用户设置了一个基本框架,让用户通过Facebook connect登录,授权对应用程序的权限,并登录到重定向页面,该页面以JSON格式将用户配置文件数据显示为一系列数组(我在下面粘贴了这些数组)。因此,现在我需要创建一个设置,根据特定数据段发布建议。例如:如果用户去了这所学校,或者主修这所学校,或者住在这里,或者是这所学校,那么推荐这个。我习惯于在PHP中使用变量,通常是通过手动提交的表单。那么,我如何将这些数据输出(我显然不希望在最终产品的浏览器上显示)转换为服务器端的变量,以便创建if-else语句来发布建议呢。我会使用Facebook对象ID号而不是文本,也就是说,我会通过Facebook ID而不是UCF或Finance等实际名称来识别学校或专业 因此,基本上有两件事我正在努力完成。1.从浏览器中取出数据,在服务器端用PHP进行分析。2.将数据转换成某种形式,我可以单独(或集体)调用if_else语句来发出if else语句表达式(最好是在PHP中)。现在,下面的数据是通过$userInfo集体调用的,因此无法单独调用任何数据 我从用户配置文件中调用了相当多的数据,因此我知道这是一项困难的任务,而且我对编程比较陌生(大约9个月)。我好像完全迷路了。任何指导都将不胜感激 当前如何通过图形API调用数据:使用Facebook个人资料数据的推荐系统,facebook,facebook-graph-api,Facebook,Facebook Graph Api,因此,我正在创建一个推荐系统,根据Facebook个人资料数据发布推荐。因此,我为用户设置了一个基本框架,让用户通过Facebook connect登录,授权对应用程序的权限,并登录到重定向页面,该页面以JSON格式将用户配置文件数据显示为一系列数组(我在下面粘贴了这些数组)。因此,现在我需要创建一个设置,根据特定数据段发布建议。例如:如果用户去了这所学校,或者主修这所学校,或者住在这里,或者是这所学校,那么推荐这个。我习惯于在PHP中使用变量,通常是通过手动提交的表单。那么,我如何将这些数据输
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";
}