2017-11-15 3 views
0

나는 지난 5 개 게시물을 얻으려고합니다. 다음을 만들었습니다 :페이스 북 PHP SDK 4 - 지난 5 개 게시물

try { 
    // Returns a `Facebook\FacebookResponse` object 
    $response = $this->fb->get(
    '/'.$page_id.'/posts', 
    $access_token 
    ); 

} catch(Facebook\Exceptions\FacebookResponseException $e) { 
    echo 'Graph returned an error: ' . $e->getMessage(); 
    exit; 
} catch(Facebook\Exceptions\FacebookSDKException $e) { 
    echo 'Facebook SDK returned an error: ' . $e->getMessage(); 
    exit; 
} 

$graphNode = $response->getGraphEdge(); 
echo "<pre>"; 
print_r($graphNode); 
echo "</pre>"; 
exit; 

어떻게 출력을 제한 할 수 있습니까? 예를 들어 100 개의 레코드가 반환되는 대신 5 개만 필요합니다. 'limit = 5'를 사용해야하지만 위의 위치에 배치 할 수 있는지 여부는 알 수 없습니다.

또한 위 스크립트를 사용하여 모든 종류의 정보를 가진 거대한 Facebook \ GraphNodes \ GraphEdge 객체를 얻습니다. 게시물 (예 : 제목, 본문, 그림, 날짜)에 대해 더 작고 세련된 개체를 얻을 수있는 방법이 없습니까?

+1

'/'.$ page_id. '/ posts' '를'/ '.$page_id.'/posts?fields=id,title,created_time & limit = 5''로 바꿀 수 있습니까? 원하는 필드 만 가져오고 limit 매개 변수를 사용하는 방법입니다 (객체를 검사하는 경우 모든 필드 이름을 찾을 수 있음). – SamHecquet

+0

예, 감사합니다! – user3264461

답변

1

의견에 대해 말씀 드렸듯이 한도 인 또는 원하는 필드를 모두 URL에 추가해야합니다. 당신이 사용할 수있는 필드를 알고 싶은 경우

은 그래서 당신이 documentation를 사용할 수

$response = $this->fb->get(
    '/'.$page_id.'/posts?fields=id,title,created_time&amp;limit=‌​5', 
    $access_token 
); 

처럼해야하지만,이 목록은 사용하는 API 버전을 기반으로 정확하지 않을 수 있습니다. 또 다른 방법은 필드를 지정하기 전에 객체를 검사하는 것입니다.