2010-06-20 99 views
0

我想第一次运行FQL。这是我已经列入我的index.php文件中的代码:执行Facebook查询时出现问题

<?php $query="SELECT message FROM status WHERE uid = 544337058";echo $query; ?> 
     <?php 
     include_once ('facebook.php'); 
     $api_key = 'XXXXXXXXXXXXXXX'; 
     $secret = 'XXXXXXXXXXXXXXXXX'; 
     global $facebook; 
     $facebook = new Facebook($api_key, $secret); 
     $result = $facebook->api_client->fql_query($query); 
     ?> 
     <?php echo $result?> 

我已登录到Facebook的从不同的标签,只是想读我自己的状态信息。不过,我收到以下错误:

SELECT message FROM status WHERE uid = @@@@@@ 
    Fatal error: Uncaught exception 'FacebookRestClientException' with message 'Requires 
user session' in /users/home/aafhe7vh/web/public/facebookapi_php5_restlib.php:3065 Stack 
trace: #0 /users/home/aafhe7vh/web/public/facebookapi_php5_restlib.php(1025): 
FacebookRestClient->call_method('facebook.fql.qu...', Array) #1 /users/home/aafhe7vh 
/web/public/status.php(46): FacebookRestClient->fql_query('SELECT message ...') #2 {main} 
thrown in /users/home/aafhe7vh/web/public/facebookapi_php5_restlib.php on line 3065 

如何获取并提供用户的会话到此查询。

谢谢。

回答

1

尝试把require_login方法之后$facebook对象例如,它应该是这样的:

$facebook = new Facebook($api_key, $secret); 
$facebook = $facebook->require_login(); 

如果它是Facebook应用程序,它似乎是,也把下面require_login这一行:

$facebook = $facebook->require_frame(); 
+0

感谢Sarfraz 。这真的有帮助! 但是,不显示查询结果。 Infact如果我在echo $ result之前放置echo语句,则不会打印任何内容。 这可能只是一个PHP的问题,我不知道那里可能是错的。 PS: 1]我看到新的价值观和页面AUTH_TOKEN连续改变,就好像它是遍历的东西被刷新: http://aaaaa.facebook.joyent.us?auth_token=abe83bc9b2eee58c38edaa2ccce1ec68 2]查询返回一个数组。我也试过print_r($ result)。我读的dat数组是在PHP中的地图,但我不知道关键在这里打印一个特定的值 – codeObserver 2010-06-22 00:14:07