2011-01-30 10 views
0

私はFacebookのFQLを照会するためにカールを使用し、これが起こった:FQLの認証にはcurlクエリが必要ですか?

> curl 'https://api.facebook.com/method/fql.query' -d "query=SELECT+now()+FROM+user+WHERE+name='Barry Carter';" 

<?xml version="1.0" encoding="UTF-8"?> 
<error_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://api.facebook.com/1.0/ http://api.facebook.com/1.0/facebook.xsd"> 
    <error_code>102</error_code> 
    <error_msg>Session key invalid or no longer valid</error_msg> 
    <request_args list="true"> 
    <arg> 
     <key>method</key> 
     <value>fql.query</value> 
    </arg> 
    <arg> 
     <key>query</key> 
     <value>SELECT now() FROM user WHERE name='Barry Carter';</value> 
    </arg> 
    </request_args> 
</error_response> 

は私がユーザーを見つけるためにも、認証する必要がありますか?ウェブサイトでは、 認証を行うことはできますか?

認証が必要な場合はどうすれば入手できますか?私は http://developers.facebook.com/docs/authenticationを読みましたが、私はすべて が必要ですか?もしそうなら、私は トークンを認証するために何をすべきですか?クッキー/ etcを保存する必要がありますか(curlの-bと-cフラグを使用していますか?)。

この質問は、 Facebook API - fql_query, Invalid session と似ていますが、PHPではなくまっすぐなカールを使用しています。

私は質問がGETでなければならないことを認識しています。POSTではなく、私はそれが問題ではないと確信しています。

答えて

1

はい、実行するクエリのほとんどが認証トークンを持つ必要があります。

実験しているだけであれば手動で手に入れておくのは難しくありません。手動で行うのが最も簡単な方法は、ブラウザで指定したURLに移動してリンクした認証文書ページの「クライアント側の流れ」のセクションに従い、http://www.facebook.com/connect/login_success.htmlをターゲットURLとして使用することです(これはFacebookのダミーページです.com、あなたを通させてくれることが保証されています)、アドレスバーからアクセストークンを取得します。

+0

YOUR_URLでOK、そう のようなもの "https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&response_type=token" はhttp://www.facebook.com/connect/login_successに設定.html?これを行うにはまだYOUR_APP_IDが必要ですか? – barrycarter

+0

ええ、あなたはApp IDが必要です。登録するのは難しいことではありません。 – Yuliy

関連する問題