【问题标题】:facebook api return nothing but with me I have the datafacebook api什么都不返回,但我有数据
【发布时间】:2013-09-23 18:14:28
【问题描述】:

我制作了一个 Facebook 应用程序,现在我们从服务器更改它,我再次运行代码来测试它,我发现除了一个 FQL 之外它运行良好。我通过 ->(/me)

获取用户信息

FLQ 有效(我使用 Facebook 工具进行了测试)。我的连接和范围是正确的。有什么想法吗?

我留给你我的fql

$scope = 'email,read_stream';
$facebook = new Facebook(array(
     'appId'  => $app_id,
     'secret' => $app_secret,
));

// Get the current user
$user = $facebook->getUser();
    $fql    =   "SELECT type, source_id, share_count, likes, permalink, description, post_id, message, target_id, created_time, attachment
                FROM stream 
                WHERE source_id =  me()  and type in (46, 80)
                order by created_time desc
                LIMIT 500";
    $param  =   array(
     'method'    => 'fql.query',
     'query'     => $fql,
     'callback'  => ''
    );

    $fqlResult  =  $facebook->api($param);
    print_r($fqlResult);

【问题讨论】:

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


    【解决方案1】:

    我不会亲自使用 FQL,因为他们贬低旧 API 是有原因的,但是要访问用户的提要数据,您需要从 API 为您的应用程序授予访问权限,它应该自动处理 access_tokens,但是当您的用户使用您要使用的网站登录

    $params = array(
      'scope' => 'read_stream, friends_likes',
       // Access to feed data (read_stream) and whatever else you need
      'redirect_uri' => 'https://www.myapp.com/post_login_page'
    );
    
    $loginUrl = $facebook->getLoginUrl($params);
    

    然后你就可以通过 api 查询访问所有你想要的信息了:

    $facebook->api('/me?fields=feed.fields(source,id,shares,likes,link,description,message,created_time)', 'GET');
    

    我强烈建议使用Facebook Graph API Explorer 来测试 API 查询并检索您需要的所有信息

    希望对伴侣有所帮助!

    【讨论】:

      【解决方案2】:

      在参数数组中,再添加一个参数:access_token,并赋予其有效的访问令牌值

      【讨论】:

      • 嗨@Shadowfax,谢谢,但有两件事。 1-。为什么这适用于完全相同的代码“SELECT friend_count FROM user WHERE uid = me()”和两个我如何获得访问令牌?
      • 不起作用 $access_token = $facebook->getAccessToken(); //Exportamos todos los datos $fql = "SELECT type, source_id, share_count, likes, permalink, description, post_id, message, target_id, created_time, attachment FROM stream WHERE source_id = me() and type in (46, 80) order by created_time desc 限制 500"; $param = array( 'method' => 'fql.query', 'query' => $fql, 'callback' => '', 'access_token' => $access_token );
      【解决方案3】:

      我发现了我的问题,

      代码有效,但我要求提供两种特定类型。 并输入 (46, 80)

      当我删除它时,它会显示所有流:)

      谢谢大家

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-07-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-29
        • 1970-01-01
        相关资源
        最近更新 更多