我在我的网络应用中为用户进行了Facebook Auth登录。对于我尝试的大多数个人资料,我能够很好地提取他们的喜欢,朋友列表和其他公共信息。然而,对于一个用户,我发现我不能拉他们的喜欢或城市。他的喜欢和城市可以公开给他的朋友。这很奇怪,我认为这是因为我不知道某种隐私问题。
我已经使用分页来获取喜欢的内容,正如我所说,它适用于大多数个人资料。
对于这个城市,我只是使用这个代码(也适用于大多数个人资料):
public function getLocation() {
$user = $this->getUser();
$data = array();
$data['citystate'] = isset($user['location']['name']) ? $user['location']['name'] : '';
$data['citystate'] = explode(", ", $data['citystate']);
$data['city'] = isset($data['citystate'][0]) ? $data['citystate'][0] : '';
$data['state'] = isset($data['citystate'][1]) ? $data['citystate'][1] : '';
$data['state_abbrev'] = isset($data['citystate'][1]) ? StringEdit::convert_state($data['citystate'][1],'abbrev') : '';
return $data;
}
当用户登录时,他们会收到此对话框(首次连接应用时):
App 将收到以下信息:您的公开个人资料,朋友列表,电子邮件地址和新闻Feed。
我的问题是,这是许可问题吗?或者这是隐私问题?如果是,我该如何解决它,并绕过这个。谢谢。
答案 0 :(得分:0)
原因可能是 -
许可问题
不同的用户详细信息需要不同的权限。但是,如果这些对于用户是公开的,那么您不需要该特定用户的该权限。
因此,在登录时,您应该在user_location
参数中添加权限:user_likes
,scope
。
隐私权问题
用户可能已授予权限但细节尚未到来。当用户设置了一些不向任何人显示的细节时,在这种情况下接受自己的图表api将不会为您获取这些细节。 (但既然你确定朋友可以获得详细信息,那么情况应该不是这样)