2012-09-26 63 views
0

我曾嘗試使用Facebook API向朋友發佈收視率。但它需要很長時間才能響應,並使我的網頁掛起。這是我的代碼。Facebook API - 花很長時間發佈在朋友牆上

我通過Facebook連接獲取用戶信息。一旦我連接,我在會話中設置用戶ID,並允許用戶評價我的網頁上的產品。一旦評級被提交,我發佈用戶評級值例如。 4.5星給用戶的Facebook牆以及朋友頁面。但該頁面需要很長時間才能回覆。有什麼辦法可以解決這個問題。我期待着一些事情,發佈過程應該發生在後端,沒有用戶的通知,頁面應該很快響應他。

if($user) 
    { 
     $accessToken = $facebook->getAccessToken(); 
     $ret_obj= $facebook->api('/me/feed', 'post', array(
     'access_token' =>$accessToken, 
     'message' => $message, 
     'link' => $link, 
     'name' => strip_tags($pagetitle), 
     'picture' => $picture, 
     'caption' => $caption, 
     'description' => $description, 
    )); 
     $mypostid = $ret_obj['id'];  
     $friends = $facebook->api('/me/friends'); 
     foreach($friends['data'] as $friend) { 

    $frendid = "/".$friend['id']."/feed";   
    $frend_return = $facebook->api($frendid, 'post', array(
     'access_token' =>$accessToken, 
     'message' => $message, 
     'link' => $link, 
     'name' => strip_tags($pagetitle), 
     'picture' => $picture, 
     'caption' => $caption, 
     'description' => $description, 
    )); 

     } 

    } 
$insert = mysql_query("INSERT INTO `rating` 
     (
      `id`, 
      `user_id`, 
      `username`, 
      `useremail`, 
      `rateformoney`, 
      `ratefordesign`, 
      `rateforperform`, 
      `rateforfeatures`, 
      `rateforquality`, 
      `avgrating`, 
      `ratingcomment`,     
      `recommended`, 
      `category`, 
      `product_id`, 
      `created_date` 
     ) 
     VALUES 
     (
      NULL, 
      '$usrid', 
      '$name', 
      '$email', 
      '$rat_price', '$rat_design', '$rat_perf', '$rat_feat', '$rat_qlt', '$avgrating', 
      '$rat_comment', '$recommended', '$category', '$productid', CURRENT_TIMESTAMP 
     ) 
      "); 




header($redirect); 

回答

1

我一直在使用Facebook的API張貼在各界朋友的收視嘗試。

是不是所有的用戶的朋友其實有此張貼到他們的牆上?

這種行爲很容易導致他們中的一些標記你的帖子爲垃圾郵件...(只是一個警告,它給你的應用程序做什麼。)

但它花費很長的時間來響應

這是因爲您正在進行一個API調用,因此您的循環中的每個朋友也有一個HTTP請求。

嘗試將API調用綁定到一個(或多個)batch requests以加快速度 - 這限制了發生的實際HTTP請求數量,因此應該明顯更快。

+0

的幫助將Facebook的考慮我的職位爲垃圾郵件。 –

+0

有沒有什麼辦法可以在後端運行這個異步。 –

+0

我瞭解了Facebook批處理API。謝謝 –

相關問題