如何使用PHP SDK创建fql multyquery

Nic*_*tti 1 facebook facebook-fql fql.multiquery facebook-graph-api

我正在尝试使用PHP SDK进行fql multy查询.这是我的代码

try {
    $fql = array( 
        "query1" => "SELECT uid2 FROM friend WHERE uid1 = me()",
        "query2" => "SELECT name, url, pic FROM profile WHERE id IN (SELECT uid2 FROM #query1)"
    );
    //$fql = "SELECT uid2 FROM friend WHERE uid1 = me()";
    // Proceed knowing you have a logged in user who's authenticated.
    $user_profile = $facebook->api( array(
        'method' => 'fql.multiquery',
        'query' => $fql,
    ) );
} catch ( FacebookApiException $e ) {
    error_log( print_r( $e->getMessage(), true ) );
    $user = NULL;
}
Run Code Online (Sandbox Code Playgroud)

这总是会返回一个没有消息的异常

[04-May-2012 20:22:26 UTC] PHP注意:未定义的属性:FacebookApiException :: $ getMessage在C:\ Program Files(x86)\ Zend\Apache2\htdocs\wordpress\wp-content\plugins\all- 120行[04-May-2012 20:22:26 UTC] in-one-event-calendar\lib\plugins\A1ecFacebookConnectorPlugin.php

我显然做错了什么,那可能是什么?

Nic*_*tti 6

好的,我发现如何做到这一点,你必须queries用作参数,而不是query

try {
    $fql = array( 
        "query1" => "SELECT uid2 FROM friend WHERE uid1 = me()",
        "query2" => "SELECT name, url, pic FROM profile WHERE id IN (SELECT uid2 FROM #query1)"
    );
    //$fql = "SELECT uid2 FROM friend WHERE uid1 = me()";
    // Proceed knowing you have a logged in user who's authenticated.
    $user_profile = $facebook->api( array(
        'method' => 'fql.multiquery',
        'queries' => $fql,
    ) );
} catch ( FacebookApiException $e ) {
    error_log( print_r( $e->getMessage(), true ) );
    $user = NULL;
}
Run Code Online (Sandbox Code Playgroud)