我正在尝试使用php访问和收集有关-的基本信息
用户名、性别、生日、年龄范围等
但由于某种原因,我只能得到工作的名字和性别,我得到了一个带有CCD_ 2和CCD_ 3的CCD_。
有人能帮我弄清楚吗?我是Facebook Graph API的新手,正在尝试修改他们为日志记录提供的给定代码。我想我还不需要访问令牌,因为我正试图在他们登录网站时获得初始权限。
<?php
include('src'facebook.php');
//$scope = 'username,age_range,birthday,gender';
$config = array(
'appId' => 'XXXXXXXXXXXXXXXX',
'secret' => 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
'fileUpload' => false,
'allowSignedRequest' => false
);
$facebook = new Facebook($config);
$user_id = $facebook->getUser();
?>
<html>
<head></head>
<body>
<?php
if($user_id) {
try {
//$user_profile = $facebook->api('/me','GET');
$user_profile = $facebook->api('/me','GET', array('scope' => 'user_birthday,gender,age_range,name,likes'));
echo "Name: " . $user_profile['name'];
echo " Gender: " . $user_profile['gender'];
echo " DOB: " . $user_profile['birthday'];
echo " Age_Range: " . $user_profile['age_range'];
} catch(FacebookApiException $e) {
$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>';
}
?>
</body>
</html>
还有人能解释一下如何获得用户点赞吗?我知道我必须使用Facebook->api(me/like)指定用户权限,但我该如何访问数组?谢谢你的帮助!
请仅遵循官方文档以避免此类错误-
-
您将权限范围添加到错误的位置。
-
您使用了错误的权限:
gender,age_range,name,likes
-这些权限无效!您需要的权限是:
user_likes
(用于点赞)、user_birthday
(用于生日);其余仅为基本(默认)权限的一部分!年龄范围字段也包含在公共配置文件中,适用于安装您的应用程序的任何人。
在使用登录代码:getLoginUrl()时,必须添加scope
参数。
$params = array(
'scope' => 'user_likes, user_birthday'
);
$loginUrl = $facebook->getLoginUrl($params);
用户成功授予权限后,您将获得所需的东西!