我正在开发一个 php 脚本,用于从 facebook 中的页面(不是用户)检索消息。我可以访问该页面(它是我的),所以如果我必须修改配置中的某些内容,我可以。
我在 Facebook 的图形 api 网页中尝试了 FQL 查询,它可以工作。我得到包含所有消息的文件。
但是每当我在我的 php 脚本中尝试它时,它都会失败。我在 localhost 服务器中尝试它并调用脚本:“localhost/testServer/phpScript.php”我不知道是否必须添加参数。
我检查了许多示例和教程,它们都很相似,但就我而言,它们不起作用。
我总是收到此消息的异常:
Fatal error: Uncaught Exception: 100: Requires user session thrown in C:\xampp\htdocs\testServer\base_facebook.php on line 1271
如果我将它包围在 try/catch 中并打印我得到的内容,它会告诉它是 getType() 的异常和 getResult() 的数组。
我的代码很简单:
<?php
require_once("facebook.php");
//Get Facebook SDK Object
$config = array(
'appId' => '*******',
'secret' => '*******',
'cookie' => true,
);
$facebook = new Facebook($config);
//$fql = "SELECT message FROM status WHERE uid = 169070991963 ORDER BY time DESC";
$fql = "SELECT message FROM status WHERE uid = 169070991963";
//Create Query
$param = array(
'method' => 'fql.query',
'query' => $fql,
'access_token'=>'*******|******-*******',
'ext_perm' => "read_stream",
);
$result = $facebook->api($param);
print_r($result);
?>
我刚刚删除了我的 appId、secret 和 access_token。
我使用状态表阅读了有关 read_stream 权限的内容。但是添加 access_token 和 ext_perm 标签没有效果。我留下了网页的 uid,因为它是公开的,因此您可以自己测试代码。
如果我不能用 php fql 做这个查询,如果我能得到相同的结果,我使用普通的 api 没有问题。
我花了很多天做这个脚本,我完全迷失了这个问题。