2014-02-27 1 views
0

PHP SDK를 사용하여 Facebook App을 통해 업데이트 할 권한이있는 Facebook 사용자가 액세스 할 수있는 페이지 목록을 검색하려고합니다.Facebook 앱 설정에 따라 데이터가 공개되는지 여부가 결정됩니다.

우리는이 FQL을 테스트 목적으로 Facebook의 그래프 탐색기에 넣을 때 다음과 같은 (정확한) 데이터를 제공합니다.

{ 
    "data": [ 
    { 
     "page_id": 1234567689, 
     "name": "A page we have access to" 
    }, 
    { 
     "page_id": 987654321, 
     "name": "Another page we have access to" 
    } 
    ] 
} 

PHP SDK를 사용할 때 값이없는 배열을 반환합니다. 응용 프로그램 설정에서 manage_pages 권한이 있는지 확인했습니다. 나는에 FQL 매개 변수를 단순화 경우 또한, :

$params = array(
     'method' => 'fql.query', 
     'query' => "SELECT name from user where uid = me()", 
    ); 

이 그래프 탐색기와 페이스 북 PHP SDK 모두에서 작동합니다. 이 문제는 첫 번째 FQL 쿼리에 영향을주는 Application 영역의 일부 숨겨진 설정이라고 생각합니다. 그건 그렇고, 그래프 익스플로러를 사용할 때 데이터를 성공적으로 반환하는 데 필요한 유일한 권한은 manage_pages 뿐이므로 권한 문제라고 생각하지 않습니다.

Facebook 사용자가 관리 대상으로 지정한 페이지 목록을 이전에 방문한 사람이 있습니까? 이 디버깅을 시작하는 방법에 대한 아이디어가 있습니까? 이것이 어떤 종류의 버그 인 경우 원하는 정보를 검색 할 수있는 다른 방법이 있습니까?

+0

스크립트가 전화를 걸기 위해 사용하고있는 액세스 토큰 ('$ facebook-> getAccessToken()')을 출력하고 [권한이 있는지 확인하십시오] (https://developers.facebook.com/tools/) 디버그) ... – CBroe

+0

$ facebook-> getAccessToken()을 출력 할 때 약 70-80 개의 임의 문자 인 문자열을 수신합니다. 그것을 해독하여 실제로 사용 권한을 볼 수있는 방법이 있습니까? – OrangeFrog

+0

게시 한 __link__, 천재성 ...을 클릭하는 것은 어떻습니까? ;-) – CBroe

답변

0
$loginUrl = $facebook->getLoginUrl(
     array(
      'scope'  => 'manage_pages,read_stream', 
      'redirect_uri' => RETURN_ADDRESS, 
     ) 
); 

로그인 요청을 생성 할 때 응용 프로그램의 범위를 설정할 수있는 옵션이 있습니다. 우리 범위에서 우리는 application이 했더라도 manage_pages를 설정하지 않았습니다.

호프가 도움이되기를 바랍니다. 귀하가 요청한 것과 제공되는 것이 별도로 관리된다는 것을 깨닫는 것이 더 많은 비용이 듭니다.