2011-09-07 7 views
1

페이스 북 PHP SDK와 함께 일괄 요청을 사용하여 페이지 탭을 검색하려고 필사적으로 노력하고 있지만 페이스 북은 계속 동일한 오류를 반환합니다.일괄 요청을 사용하여 페이지 탭 가져 오기

$query = array(
    array('method' => 'GET', 'relative_url' => '/'.$page_id, 'name' => 'get-page'), 
    array('method' => 'GET', 'relative_url' => '/'.$page_id.'/tabs', 'access_token' => '{result=get-page:$.data.0.access_token}')); 

$res = $facebook->api('/?batch=' . json_encode($query), 'POST'); 

을 그리고 여기 결과입니다 : 여기 내 코드는

array 
    'code' => int 403 
    'headers' => 
     array 
      ... 
    'body' => string '{"error":{"type":"OAuthException","message":"(#210) Subject must be a page."}} 

내가 배치 요청하지 않고 노력, 그리고 그것을 잘 작동합니다. 페이스 북 API의 버그에서 온 것이라고 가정하지만 어쩌면 누군가 해결 방법을 찾았다.

아무도 도와 주셔서 감사합니다!

편집 :

아무도이 문제에 대한 해결책 찾을 것 같다 때문에 :

사람이 하나의 요청에 팬 페이지에서 모든 탭을 가져 오는 방법을 알고 있나요을? , 당신이 필요로하는 '배치'요청으로

// get all the pages   
$pages = $fb->api('/me/accounts'); 
$pages = $pages['data']; 

// assume there is at least one page 
$workpage = $pages[0]; 

// get all the tabs for this page 
$tabs = $fb->api("/{$workpage['id']}/tabs", array('access_token'=>$workpage['access_token'])); 
print_r($tabs); 

: 당신은 로그인 여기 페이지를 볼 수있는 손에 액세스 토큰을 가지고있다 가정

답변

1

는 앞으로 이동하기 전에 시도해야 발췌 한 것입니다 위의 코드에 루프를 추가하고 창의적으로 만들 수 있습니다.

0

도움을 주셔서 감사합니다. 실제로 저는 이미 솔루션을 사용해 보았지만 정상적으로 작동했지만 요청 횟수를 제한하려고했습니다 ...

마지막으로 요청한 사항이 잘못되었음을 발견했습니다. 올바른 버전은 다음과 같습니다.

$query = array(
    array('method' => 'GET', 'relative_url' => '/'.$page_id.'?fields=access_token', 'name' => 'get-page'), 
    array('method' => 'GET', 'relative_url' => '/'.$page_id.'/tabs', 'access_token' => '{result=get-page:$.access_token}')); 

$res = $facebook->api('/?batch=' . json_encode($query), 'POST'); 
관련 문제