Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么当用户设置为私有(如位置等)时我无法获取数据(Facebook PHP SDK)_Php_Facebook_Codeigniter - Fatal编程技术网

为什么当用户设置为私有(如位置等)时我无法获取数据(Facebook PHP SDK)

为什么当用户设置为私有(如位置等)时我无法获取数据(Facebook PHP SDK),php,facebook,codeigniter,Php,Facebook,Codeigniter,首先很抱歉,我想从facebook上获取数据。我已经为我的网站设置了facebook应用程序,获取数据是可行的,但是当我将位置(facebook信息)设置为private时,返回的数据不包含位置数据 这是模型 class Facebook_model extends CI_Model { public function __construct() { parent::__construct(); $config = array( 'ap

首先很抱歉,我想从facebook上获取数据。我已经为我的网站设置了facebook应用程序,获取数据是可行的,但是当我将位置(facebook信息)设置为private时,返回的数据不包含位置数据

这是模型

class Facebook_model extends CI_Model {

public function __construct()
{
    parent::__construct();

    $config = array(
                    'appId'  => 'APP_ID',
                    'secret' => 'SECRET',
                    'fileUpload' => true, 
                    );

    $this->load->library('Facebook', $config);

    $user = $this->facebook->getUser();
    $profile = null;
    if($user)
    {
        try
        {
            $profile = $this->facebook->api("/me", 'get');
        }catch(FacebookApiException $e)
        {
            error_log($e);
            $user = null;
        }
    }

    $fb_data = array(
        'me' => $profile,
        'uid' => $user,
        'loginUrl' => $this->facebook->getLoginUrl(
            array(
                    'scope' => 'email,publish_stream,user_about_me,user_checkins,publish_stream,friends_about_me',
                    'redirect_uri' => base_url() . 'index.php/welcome/topsecret/'
                )
            ), 
        'logoutUrl' => $this->facebook->getLogoutUrl()  
    );

    $this->session->set_userdata('fb_data', $fb_data);

      }
这是我的虚拟帐户的输出,即隐私设置为公共

 Array
(
   [me] => Array
     (
        [id] => 100004160084328
        [name] => Dave Batista
        [first_name] => Dave
        [last_name] => Batista
        [link] => http://www.facebook.com/dave.batista.355
        [username] => dave.batista.355
        [birthday] => 08/03/1991
        [hometown] => Array
            (
                [id] => 106050279435951
                [name] => Quezon City, Philippines
            )

        [location] => Array
            (
                [id] => 106050279435951
                [name] => Quezon City, Philippines
            )

        [gender] => male
        [email] => davebatista@gmail.com
        [timezone] => 8
        [locale] => en_GB
        [updated_time] => 2012-08-12T23:38:18+0000
    )

[uid] => 100004160084328
[loginUrl] => https://www.facebook.com/dialog/oauth?       client_id=266349843476112&redirect_uri=http%3A%2F%2Fpractice.com%2Findex.php%2Fwelcome%2Ftopsecret%2F&state=5d41b131b2d1e631e721cd0f6a1056aa&scope=email%2Cpublish_stream%2Cuser_about_me%2Cuser_checkins%2Cpublish_stream%2Cfriends_about_me
[logoutUrl] => https://www.facebook.com/logout.php?next=http%3A%2F%2Fpractice.com%2Findex.php%2Fwelcome%2Ftopsecret%2F&access_token=AAADyPmfObpABABJKZCZBdAXy3iPJyu4qRFEAPI8XpWS94iFZAtvnnMDkzb8yBjgQQQ8oe2O38g9QzqN834jA9axvTT0RkulRBtNItTOIAZDZD
)
尝试将“用户位置”添加到$fb_数据['loginUrl']['scope']。以下是您可以在FB API中使用的所有权限的列表:

  • 在facebook应用程序中获取用户和好友对用户位置的权限
  • 使用

    $param=array('scope'=>'电子邮件、用户位置、用户生日、脱机访问', 'redirect_uri'=>base_url() ); 重定向($this->fb_connect->getLoginUrl($param))


  • 您将位置设置为“私人”。这不是你问题的答案吗?是的,但以防万一?当用户将数据设置为私有时,是否无法获取数据?顺便说一句,谢谢你的回复。