使用cURL returning";从PHP进行FQL查询;“方法未实现”;
我正在使用Facebook的Facebook查询语言(FQL)在我已经知道某个用户的用户id后获取该用户的信息。当我在Firefox中输入以下URL时,它会为请求返回正确的XML: 用户名,其中uid=**' 即返回用户名 注意:请不要建议使用Graph API,因为事实上我将对Graph中尚未实现的东西(如网络)使用FQL,这只是一个简单的示例 但是,当我转到我网站上执行以下PHP代码的页面时:使用cURL returning";从PHP进行FQL查询;“方法未实现”;,php,facebook,curl,connect,facebook-fql,Php,Facebook,Curl,Connect,Facebook Fql,我正在使用Facebook的Facebook查询语言(FQL)在我已经知道某个用户的用户id后获取该用户的信息。当我在Firefox中输入以下URL时,它会为请求返回正确的XML: 用户名,其中uid=**' 即返回用户名 注意:请不要建议使用Graph API,因为事实上我将对Graph中尚未实现的东西(如网络)使用FQL,这只是一个简单的示例 但是,当我转到我网站上执行以下PHP代码的页面时: $url = 'http://api.facebook.com/method/fq
$url = 'http://api.facebook.com/method/fql.query?query=SELECT name FROM user WHERE uid=**********';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo($response);
我明白了:
Method Not Implemented
Invalid method in request
这也不应该是身份验证问题,名称是公开的
为了进一步了解,当我输入任何格式错误的FQL请求时,PHP页面会正确地返回错误XML,就像在Firefox中输入URL一样。只有当我输入一个格式正确的FQL请求时,它才与我在Firefox中看到的有所不同,即它给出了上面的错误,甚至不是XML
有什么想法吗?谢谢 您是否正确编码了查询参数?尝试以下方法:
$query = 'SELECT name FROM user WHERE uid=**********';
$url = 'http://api.facebook.com/method/fql.query?query=' . rawurlencode($query);
或者您可以使用自动为您执行此操作的。我不太了解与FQL相关的错误消息,但SQL查询应该是url转义(urlencode-)。也许这有助于纠正您的错误。谢谢,我最近才开始使用PHP,尤其是cURL,但我并不知道这一点。