FQL ошибка нескольких запросов - PullRequest
1 голос
/ 27 марта 2012

я написал следующий код, чтобы узнать, как работает fql multiquery:

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

Я также пробовал другие запросы вместо этих двух, но проблема остается той же. Я использую PHP SDK 3.0.

помогите пожалуйста.

Ответы [ 2 ]

0 голосов
/ 22 мая 2012

Выглядит скорее как проблема с созданием

$facebook->api_client

Стоит также отметить, что в [standard_user_info] столбец [uid] имеет тип string , поэтому вам, вероятно, также понадобитсядля добавления кавычек.
https://developers.facebook.com/docs/reference/fql/standard_user_info/

Согласно документам FB, многократный запрос FQL должен выполняться быстрее, чем последующие пакетные вызовы.https://developers.facebook.com/docs/reference/fql/

0 голосов
/ 27 марта 2012

Я не использую Multi Query, так как fql переместился на график api.Вместо этого я использую пакетный запрос.Вот пример запроса / feed, комментарии к первым 10 результатам и fql multi постоянной ссылки из первых 10 сообщений.Я уверен, что это немного излишне для того, что вам нужно, но это лучший пример, который у меня есть для смешивания графа и fql и использования имени, что, кажется, то, что вам нужно, чтобы нести друзей.1004 *

<?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);
?>
...