我需要保存Facebook信息到MySQL表。我使用PHP SDK从用户获取数据。当我获取数据时这些数据都在关联数组中。我需要解析这个数组到MySQL数据库。
<?php
require '/src/facebook.php';
$dbname = '';
$dbpass = '';
$dbuser = '';
$dbhost = '';
$appId = '';
$secret = '';
mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbname);
$facebook = new Facebook(array(
'appId' => $appId,
'secret' => $secret,
));
$user = $facebook->getUser();
$access_token = 'fb_'.$appId.'_access_token';
if ($user) {
try {
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
if ($user) {
$logoutUrl = $facebook->getLogoutUrl();
} else {
$loginUrl = $facebook->getLoginUrl(
array(
'scope' => 'user_about_me,user_activities,user_birthday'
)
);
}
$sql_insert = "INSERT INTO users (user_id,username,access_token) VALUES ('$user_profile[id]','$user_profile[username]','$_SESSION[$access_token]')";
$sql_select = "SELECT user_id FROM users WHERE user_id='$user_profile[id]'";
$res = mysql_query($sql_select);
if(!mysql_num_rows($res) > 0) { mysql_query($sql_insert); }
?>
这个过程返回me
Array
(
[id] => 1088214852
[name] => User Name
[first_name] => User
[last_name] => Name
[link] => http://www.facebook.com/user.name
[username] => user.name
[birthday] => 24/12/2011
[hometown] => Array
(
[id] => 107833015912178
[name] => NY
)
[location] => Array
(
[id] => 109589969066408
[name] => CA
)
不幸的是,您可能只在数据库中存储有限的facebook用户信息。请阅读Facebook的API法律条款,您在注册为开发者时已同意。如果你违反合同,Facebook将取消你的权限。