Facebook PHP SDK FQL不工作

Facebook PHP SDK FQL不工作,php,facebook,facebook-graph-api,facebook-fql,Php,Facebook,Facebook Graph Api,Facebook Fql,我有一个Facebook应用程序,可以显示好友在Facebook上创建的所有事件的计数。我使用FQL返回数字。它在2月1日之前运行良好,我想它停止工作是因为本月的滚动更改,但我在文档中找不到任何关于FQL协议的内容。以下是以前的工作: $timestamp = time(); // Get current Unix time $iso8601 = date('c', $timestamp); // Convert unix time to ISO8601 // FQL Multiquery $

我有一个Facebook应用程序,可以显示好友在Facebook上创建的所有事件的计数。我使用FQL返回数字。它在2月1日之前运行良好,我想它停止工作是因为本月的滚动更改,但我在文档中找不到任何关于FQL协议的内容。以下是以前的工作:

$timestamp = time(); // Get current Unix time
$iso8601 = date('c', $timestamp); // Convert unix time to ISO8601

// FQL Multiquery
$fql_query = '{"allFriends":"SELECT+uid2+FROM+friend+WHERE+uid1=me()",' 
          .'"allEvents":"SELECT+eid+FROM+event_member+WHERE+uid+IN+(SELECT+uid2+FROM+#allFriends)+AND+start_time>=\''.$iso8601.'\'",'
          .'"creators":"SELECT+creator+FROM+event+WHERE+eid+IN+(SELECT+eid+FROM+#allEvents)"}'
          . '&access_token=' . $access_token;
// Get FQL through Graph API call
    $fql = $facebook->api('/fql?q=' . $fql_query);
但现在,当脚本运行时,我收到以下异常:

FacebookApiException:OAutheException:(#601)分析器错误:位置0处出现意外的“{”

我应该改变什么来修复它


任何帮助都将不胜感激

我从来没有想到如何解决问题中的多重查询,但如果有人遇到同样的问题,我确实制定了一个解决方案。 我必须进行两次单独的fql调用,并使用输出完成任务。以下是代码:

$timestamp = time(); // Get current Unix time
$iso8601 = date('c', $timestamp); // Convert unix time to ISO8601

// FQL Queries
//Select Events created by user's Friends
$fql_query = 'SELECT+creator+FROM+event+WHERE+eid+IN+' .
'(SELECT+eid+FROM+event_member+WHERE+start_time>=\'' . 
$iso8601.'\'+AND+uid+IN+(SELECT+uid2+FROM+friend+WHERE+uid1=me()))' . 
&access_token=' . $access_token;

$fql = $facebook->api('/fql?q=' . $fql_query);

// Get friend_count from user table 
$fql_query2 = 'SELECT+friend_count+FROM+user+WHERE+uid=me()' . 
&access_token=' . $access_token;

$fql2 = $facebook->api('/fql?q=' . $fql_query2);
我知道这不是很有效,而且肯定很难看,所以如果有人有办法解决我原来的问题,我很乐意接受这个答案

罗伯特

这对我很有用:

$fql = 'SELECT current_location FROM user WHERE uid = me()';
$result = client->api('/fql', 'GET', ['q' => $fql, 'access_token' => 'access-token-here']);