【问题标题】:Privacy settings that prevent you from pulling a user's Facebook likes阻止您拉取用户 Facebook 点赞的隐私设置
【发布时间】:2014-04-22 19:34:07
【问题描述】:

我的网络应用程序中有一个用户的 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;
}

当用户登录时,他们会收到此对话框(首次连接应用时):

应用程序将收到以下信息:您的公开个人资料、好友列表、电子邮件地址和动态消息。

我的问题是,这是权限问题吗?或者这是一个隐私问题?如果有的话,我该如何解决它,并规避这个问题。谢谢你。

【问题讨论】:

    标签: php facebook facebook-graph-api facebook-php-sdk


    【解决方案1】:

    原因可能是两个-

    1. 权限问题

      不同的用户信息需要不同的权限。但是,如果这些对用户是公开的,那么您不需要该特定用户的权限。

      因此,在登录时,您应该在scope 参数中添加权限:user_locationuser_likes

    2. 隐私问题

      可能是用户已授予权限但详细信息未提供。当用户将某些详细信息设置为不向任何人显示时,在这种情况下,graph api 不会为您获取这些详细信息。 (但既然你确定朋友可以得到详细信息,所以不应该这样)

    【讨论】:

    • 所以没有办法请求这些数据,即使用户让这些数据仅供他自己使用(如果是这样的话)?
    • 如果只是对他自己-不,graph api不会给你这些细节
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-25
    • 2011-11-03
    • 2014-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-19
    相关资源
    最近更新 更多