2011-07-15 1 views
0

私は既に自分のユーザIDを知っていると、FacebookのFacebook Query Language(FQL)を使ってユーザに関する情報を取得しています。 uidは= * *"Method Not Implemented"を返すcURLを使用したPHPからのクエリ

はすなわち、それは、ユーザーの名前を返すユーザーからの

http://api.facebook.com/method/fql.query?query=SELECT名前:私は、Firefoxに次のURLを入力すると、その要求のために正しいXMLを返します。

注:実際にグラフで実装されていないものに対しては、ネットワークのようなFQLを使用しているため、Graph APIを使用することを推奨しないでください。これは単なる例です。

しかし、私は次のPHPコードを実行私のウェブサイト上のページに移動:

Method Not Implemented 

Invalid method in request 

これは、いずれかの認証問題になることはありません、名前:私は見

 $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); 

を公に利用可能なものです。

誤ったFQLリクエストを入力すると、FirefoxでURLを入力したときと同じように、PHPページでエラーXMLが正しく返されます。 Firefoxで表示されているものとは異なる正式なFQLリクエストを入力したときだけです。つまり、上記のエラーはXMLでさえありません。

アイデア?ありがとう。

答えて

0

クエリパラメータを正しくエンコードしていますか?

$query = 'SELECT name FROM user WHERE uid=**********'; 
$url = 'http://api.facebook.com/method/fql.query?query=' . rawurlencode($query); 

またはこれを自動的に実行するFacebook PHP SDKを使用してください。

+0

ありがとうございます、私は最近、PHPと特にcURLの使用を開始しましたが、これはわかりませんでした。 – user828835

0

FQLに関連するエラーメッセージについてはよくわかりませんが、SQLクエリはURLがエスケープされているはずです(urlencode - http://php.net/manual/en/function.urlencode.php)。おそらく、これはあなたのエラーに役立つかもしれません。

関連する問題