[英]Get facebook permission for birthday PHP SDK
我试图通过PHP SDK从Facebook获得用户生日。 奇怪的是,我们有一个具有类似代码的类似应用,在这里它显示得很好。 在此应用中,不幸的是它无法正常工作。
这是facebookCon.php(更改的appID和secretID):
<?php
// Remember to copy files from the SDK's src/ directory to a
// directory in your application on the server, such as php-sdk/
require_once('facebookPhpSdk/facebook.php');
$config = array(
'appId' => 'MY_ID',
'secret' => 'MY_SECRET',
'allowSignedRequest' => false // optional but should be set to false for non-canvas apps
);
$facebook = new Facebook($config);
$uid = $facebook->getUser();
// Login or logout url will be needed depending on current user state.
if (!$uid) {
$statusUrl = $facebook->getLoginStatusUrl();
$loginUrl = $facebook->getLoginUrl(array('scope' => 'email','user_about_me','user_birthday','user_location'));
}else{
$user = $facebook->api('/me');
$accessToken = $facebook->getAccessToken();
$logged = true;
}
?>
这是我要显示生日的页面:
<?php
$user = $facebook->api('/me');
echo $user['email'];
?>
我可以检索电子邮件,名字,姓氏,语言环境等,但不能检索生日。
我做错了什么?
Facebook修改了其个人资料权限以使用默认设置,今天早上我的矿井在工作,但现在生日,位置和电子邮件都必须经过授权,并且不属于默认个人资料访问权限。public_profile现在只是:id,name,first_name,last_name,链接,性别,语言环境,年龄范围。
原因之一可能是因为您可能不允许应用访问生日,或者默认情况下它已被禁用。 这可以通过“ 帐户设置”->“应用程序”->“其他人使用的应用程序”下的设置来完成。 它将提供一个菜单,用于选择应用程序可以访问的特定信息类型。 就像是:
如您所见,用户可能会阻止应用访问他/她的生日。 确保已选中“ birthday
选项。 我使用Graph API Explorer进行了尝试,对我来说效果很好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.