2017-08-02 29 views
-1

我正在使用Facebook分頁,我已經搜索過但沒有得到相關答案。 首先我取10結果和onclick功能後我想未來10分的結果爲這個我傳遞抓取 -facebook分頁使用next()網址錯誤

[尋呼] =>

陣列 (

[previous] => https://graph.facebook.com/v2.9/....D&__previous=1 

    [next] => https://graph.facebook.com/........ 

作爲參數,我也嘗試傳遞下一個URL作爲參數,但它仍然不工作,如果我通過$ feedEdge作爲關聯我得到的響應爲空,下面是我的代碼

$response = self::$_FBINSTANCE->get('/me/feed?fields=id,message&limit=' . $_pagination->limit); 

     if(empty($_nextFeed)){ 
      $feedEdge = $response->getGraphEdge(); 
      $nextFeed = $response->getGraphEdge()->getMetaData(); 
     }else{ 
      $feedEdge=$response->next($_nextFeed); 
      $nextFeed = $response->getGraphEdge()->getMetaData(); 
     } 
     $result = array(); 
     foreach ($feedEdge as $status) { 
      $result[] = $status->asArray(); 
     } 
     return array(
      'result' => $result, 
      'totalRows' => $totalCount, 
      'nextFeed' => $nextFeed 
     ); 

使用v2.9版本,我應該爲$ response-> next()傳遞什麼參數。如果我錯了,幫助我。

+0

爲什麼想要到_meta data_中送入下一個()?它需要是圖形邊緣對象本身。 – CBroe

+0

雅,但如果我通過'nextFeed'=> $ feedEdge我得到的迴應爲空 – Vijaylaxmi

+0

@CBroe,先生,如果我通過'nextFeed'=> $ feedEdge的響應將是對象{}。我解碼$ feedEdge然後響應將是Facebook的帖子數組,它不會包含分頁數組...你能請指導我進一步進行? – Vijaylaxmi

回答

0

我發現這個問題的解決方案...

如果有人嘗試相同的嘗試下面的代碼。

 $result = array(); 
     if(empty($_nextFeed)){ 
      $response = $fb->get('/me/feed?fields=id,message&limit=' . $_pagination->limit); 
      $feedEdge = $response->getGraphEdge(); 

      foreach ($feedEdge as $status) { 
       $result[] = $status->asArray(); 
      } 

      $nextFeed = $response->getGraphEdge()->getMetaData(); 
     }else{ 
      //to get until time stamp form next url 
      $nextURl=parse_url($_nextFeed['paging']['next']); 
      parse_str($nextURl['query'], $URL); 

      $response = $fb->get('/me/feed?fields=id,message&limit='.(($_pagination->limit)+1).'&until='.$URL['until']); 
      $feedEdge = $response->getGraphEdge(); 

      foreach ($feedEdge as $status) { 
       $result[] = $status->asArray();      
      } 
      //because result repeats last array of previous request 
      array_splice($result,0,1); 

      $nextFeed = $response->getGraphEdge()->getMetaData(); 
     } 

     return array(
      'result' => $result, 
      'totalRows' => $totalCount, 
      'nextFeed' => $nextFeed 
     ); 

它的工作原理:)