2012-11-23 25 views
4

我需要一個cronjob運行檢查,如果2 FBuser是共同的朋友查詢: 類似於以下,但我得到這個錯誤:如何檢查離線如果兩個FB用戶是共同的朋友

Warning: file_get_contents(https://graph.facebook.com/fql?q=SELECT......) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request in... 

在FBtool我得到以下錯誤:

{ 
"error": { 
"message": "(#601) Parser error: unexpected '+' at position 6.", 
"type": "OAuthException", 
"code": 601 
} 
}) 

這是腳本:

// get App AccessToken 
$app_token_url = "https://graph.facebook.com/oauth/access_token?" 
. "client_id=" . $appId 
. "&client_secret=" .$secret 
. "&grant_type=client_credentials"; 

    $response = file_get_contents($app_token_url); 
    $params = null; 
    parse_str($response, $params); 

    $App_access_token = $params['access_token']; 

try { $permissions = $facebook->api('/'.$user1.'/permissions'); 
      } catch(Exception $o){ $log[] = "//*** error on $user1/permissions > $o"; } 
$permessi=$permissions[data][0]; 

if(array_key_exists('read_stream', $permessi) or array_key_exists('read_friendlists', $permessi)) { 

$fql_q = "SELECT 'uid1','uid2' FROM friend WHERE 'uid1'='$user1' AND 'uid2'='$user2'"; 
$fql_q = urlencode($fql_q); 
$fql_query_url = "https://graph.facebook.com" 
    ."/fql?q=$fql_q" 
    ."&access_token=$App_access_token"; 
$fql_query_result = file_get_contents($fql_query_url); 
$fql_query_obj = json_decode($fql_query_result, true); 
if(is_array($fql_query_obj)){ 
$CountFriends = $CountFriends + 1; 
}  
+0

什麼是你的實際查詢,讓語法錯誤在Graph API Explorer中?順便說一句,你的查詢顯示在你的PHP代碼中肯定是錯誤的,因爲你將列名稱視爲字符串。 – CBroe

回答