2012-03-26 10 views
1

私は、複数の問合せがどのように機能するかFQL学ぶために、次のコードを書かれている:FQL複数問合せエラー

include_once "fbmain.php"; 
try{  
$your_id=xxxxxxxx; 
    $fql= '{ 
    "friends":"SELECT uid2 FROM friend WHERE uid1='.$your_uid.'," 
    "friendinfo":"SELECT * FROM standard_user_info WHERE uid IN (SELECT uid2 
        FROM #friends)" 
      }'; 
$res = $facebook->api_client->fql_multiquery($fql); 
    } 
catch(Exception $o){ 
     d($o); // d() is function to print 
    } 

をが、出力はライン上の非オブジェクトのメンバ関数fql_multiqueryにエラー

()の呼び出しを示してい9

これらの2つの代わりに他のクエリも試しましたが、問題は同じです。私はPHP 3.0 SDKを使用しています。

ヘルプpls。

答えて

0

fqlがグラフapiに移動したので、私はMulti Queryを使用しません。代わりに私はバッチリクエストを使用します。 /feedのリクエストのサンプルです。最初の10件の記事のコメントと1件の10件の記事のパーマリンクのfql multiです。私はこれがあなたが必要とするものを殺すためのビットオーバーだと確信していますが、私はグラフとfqlを混合し、名前機能を使用するための最良の例ですが、あなたが友人を運ぶために必要なものです。

https://developers.facebook.com/docs/reference/api/batch/

<?php 
    if($type=="home"){ 
$relURL = '/'.$pageid.'/'.$type.'?'.$access_token.'%26limit='.$limit.'%26return_ssl_resources=1%26fields=id,from,name,message,likes,comments,link,picture,caption,story,source,created_time,type,actions,application,object_id,description%26since='.$since.'%26until='.$until.'%26offset='.$offset.''; 
    }else{ 
$relURL = '/'.$pageid.'/'.$type.'?'.$app_access_token.'%26limit='.$limit.'%26return_ssl_resources=1%26fields=id,from,name,message,likes,comments,link,picture,caption,story,source,created_time,type,actions,application,object_id,description%26since='.$since.'%26until='.$until.'%26offset='.$offset.''; 
    } 
$queryProfile = array(
     array('method' => 'GET', 'relative_url' => '/'.$pageid.'?fields=id,name,link,picture%26'.$app_access_token.''), 

    array('method' => 'GET', 'relative_url' => ''.$relURL.'', 'name' => 'comments', 'omit_response_on_success' => false), 
     array('method' => 'GET', 'relative_url' => '/{result=comments:$.data.0.id}/comments?fields=id,from,message,created_time%26limit=3%26offset=0'), 
     array('method' => 'GET', 'relative_url' => '/{result=comments:$.data.1.id}/comments?fields=id,from,message,created_time%26limit=3%26offset=0'), 
     array('method' => 'GET', 'relative_url' => '/{result=comments:$.data.2.id}/comments?fields=id,from,message,created_time%26limit=3%26offset=0'), 
     array('method' => 'GET', 'relative_url' => '/{result=comments:$.data.3.id}/comments?fields=id,from,message,created_time%26limit=3%26offset=0'), 
     array('method' => 'GET', 'relative_url' => '/{result=comments:$.data.4.id}/comments?fields=id,from,message,created_time%26limit=3%26offset=0'), 
     array('method' => 'GET', 'relative_url' => '/{result=comments:$.data.5.id}/comments?fields=id,from,message,created_time%26limit=3%26offset=0'), 
     array('method' => 'GET', 'relative_url' => '/{result=comments:$.data.6.id}/comments?fields=id,from,message,created_time%26limit=3%26offset=0'), 
     array('method' => 'GET', 'relative_url' => '/{result=comments:$.data.7.id}/comments?fields=id,from,message,created_time%26limit=3%26offset=0'), 
     array('method' => 'GET', 'relative_url' => '/{result=comments:$.data.8.id}/comments?fields=id,from,message,created_time%26limit=3%26offset=0'), 
     array('method' => 'GET', 'relative_url' => '/{result=comments:$.data.9.id}/comments?fields=id,from,message,created_time%26limit=3%26offset=0'), 
     array('method' => 'GET', 'relative_url' => '/fql?q=SELECT+permalink+FROM+stream+WHERE+source_id=\''.$pageid.'\'+AND+post_id=\'{result=comments:$.data.0.id}\''), 
     array('method' => 'GET', 'relative_url' => '/fql?q=SELECT+permalink+FROM+stream+WHERE+source_id=\''.$pageid.'\'+AND+post_id=\'{result=comments:$.data.1.id}\''), 
     array('method' => 'GET', 'relative_url' => '/fql?q=SELECT+permalink+FROM+stream+WHERE+source_id=\''.$pageid.'\'+AND+post_id=\'{result=comments:$.data.2.id}\''), 
     array('method' => 'GET', 'relative_url' => '/fql?q=SELECT+permalink+FROM+stream+WHERE+source_id=\''.$pageid.'\'+AND+post_id=\'{result=comments:$.data.3.id}\''), 
     array('method' => 'GET', 'relative_url' => '/fql?q=SELECT+permalink+FROM+stream+WHERE+source_id=\''.$pageid.'\'+AND+post_id=\'{result=comments:$.data.4.id}\''), 
     array('method' => 'GET', 'relative_url' => '/fql?q=SELECT+permalink+FROM+stream+WHERE+source_id=\''.$pageid.'\'+AND+post_id=\'{result=comments:$.data.5.id}\''), 
     array('method' => 'GET', 'relative_url' => '/fql?q=SELECT+permalink+FROM+stream+WHERE+source_id=\''.$pageid.'\'+AND+post_id=\'{result=comments:$.data.6.id}\''), 
     array('method' => 'GET', 'relative_url' => '/fql?q=SELECT+permalink+FROM+stream+WHERE+source_id=\''.$pageid.'\'+AND+post_id=\'{result=comments:$.data.7.id}\''), 
    //array('method' => 'GET', 'relative_url' => '/'.$pageInfo[id].'/photos?fields=id,name%26limit=9') 
); 
$batchResponse = $facebook->api('?batch='.json_encode($queryProfile), 'POST'); 
    $pageInfo = json_decode($batchResponse[0]['body'], true); 
    $pageType = $pageInfo[type]; 
    $pageLink = $pageInfo[link]; 
    $thispageid = $pageInfo[id]; 
    $MEcomments = json_decode($batchResponse[1]['body'], true); 
?> 
0

$facebook->api_client 

価値が列[UID] [standard_user_info]にもあることに注意するのインスタンス化に伴う問題は、そのタイプの文字列あるむしろあなたが考え見えますおそらくまた引用符を追加する必要があります。
https://developers.facebook.com/docs/reference/fql/standard_user_info/

FBドキュメントによれば、FQLマルチクエリは後続のバッチコールよりも速くなければなりません。 https://developers.facebook.com/docs/reference/fql/

関連する問題