2011-10-24 5 views
1

私はアプリのリクエストテーブルを使用して招待送信者のUIDを取得していますが、結果として空の配列を取得しています。FQL - App request table

// Run fql query 
     $params = array(
     'method' => 'fql.query', 
     'query' => "SELECT request_id, app_id, recipient_uid, sender_uid FROM apprequest 
     WHERE app_id = 234234324324324 and request_id =".$request_id, 
    ); 

    $result = $facebook->api($params); 
+0

あなたのaccess_tokenを含めて試しましたか? – OptimusCrime

+0

OptimusCrime:access_toknを追加する場所とそのアクセストークンを取得する方法 – user1010611

+0

PHP SDKと$ facebook-> api()を使用している場合は、access_tokenを処理する必要はありません。メソッド – Luke

答えて

-1
// Run fql query 
$params = array(
    'method' => 'fql.query', 
    'query' => "SELECT request_id, app_id, recipient_uid, sender_uid FROM apprequest WHERE app_id = 234234324324324 and request_id =".$request_id, 
    'access_token' => $yourAccessTokenVar); 

は、私は、この変数を$yourAccessTokenVarを置き換える、あなたはvariabel(アプリの実行を取得するにはこれが必要)でのごaccess_tokenは、コードを持っていると仮定します。

編集:ところで、あなたのコンマはあまりにもあなたの配列にありました。

+0

しかし、私のコードのどこにあるのですか。それは見つからない – user1010611

+0

ユーザーはFacebookのPHP SDKを使用しているので、これは自動的に処理されます。 – Luke

+0

あなたのコードを見ずには分かりません。新しいFacebook()を使用するコードの部分を投稿する心。あなたのスクリプトで? http://pastebin.com/などで投稿してください(あなたの個人情報を検閲するのを忘れないでください) – OptimusCrime

0

私はあなたの問題に対する答えがあると思います。ドキュメントhereでは、列のテーブルで、それは次のように述べている:

app_id: The ID of the app used to send the request. Note when indexing by app_id, you must also specify the recipient_uid.

- と -

recipient_uid: The ID of the user who received the request. Note when indexing by recipient_uid, you must also specify the app_id.

私はあなたのクエリを実行しようとしたとき、次のエラーを受け取りました:

"message": "(#604) Your statement is not indexable. The WHERE clause must contain an indexable column. Such columns are marked with * in the tables linked from http://developers.facebook.com/docs/reference/fql ", 

あなたのクエリは現在、次のとおりです。

SELECT request_id, app_id, recipient_uid, sender_uid FROM apprequest WHERE app_id = 234234324324324 and request_id =".$request_id

あなたはこれらのルールをフォローしていないことに気づくでしょう、あなたが指定してきたように、あなたのWHERE句ではなくno「をrecipient_uid」で「APP_ID」。

app_idを指定せずにクエリを実行してください。

+0

:私は招待状の送信者のuidを – user1010611

+0

と言います。私は、b.iにUIDが必要であると言うと、facebookのaccess_tokenは – user1010611

+0

@ user1010611の申し訳ありません。私の修正された答えを参照してください – Luke

0

これは私のために働いている:

void FacebookManager::GetRequests() 
{ 
    FBRequest *fql = [FBRequest requestForGraphPath:@"fql"]; 
    [fql.parameters setObject:@"SELECT request_id, app_id, recipient_uid FROM apprequest WHERE app_id = <your app id> AND recipient_uid = <your fbid>" 
         forKey:@"q"]; 

    FBRequestConnection* rc = [fql startWithCompletionHandler:^(FBRequestConnection *connection, 
             id result, 
             NSError *error) { 
     if (result) { 
      NSLog(@"result:%@", result); 
     } 
    }]; 
} 

これは私のデバッグ出力ウィンドウに書き込まれたJSON配列を提供します。