2011-05-01 10 views
0

JSON을 통해 Facebook 그래프 API의 값 (특정 fanpage의 총 좋아요 수)을 가져 오는 간단한 PHP 코드가 있습니다. 대부분의 팬 페이지에서는 완벽하게 작동하지만 3 개의 팬 페이지 (17 개 팬 페이지 중 하나만 표시)에서는 해당 값을 읽고 인쇄 할 수 없습니다.Facebook 그래프 API JSON 값 가져 오기

가져 오려는 데이터가 공개되어 있고 모든 페이지에 동일한 코드가 적용되어 어디에 문제가 있는지 이해할 수 없습니다. 여기

는 ID 214014840762로 팬 페이지에 대한 올바른 값을 출력하는 코드이다 :

<?php  
$currsiteurl = 'http://graph.facebook.com/214014840762'; 
$graph = json_decode(file_get_contents($currsiteurl)); 
$currnofans = $graph->likes; 
echo "Number of likes: ".$currnofans; // prints out 107936  
?> 

을하지만 단순히 160788560626000 또는 167134649991034로 ID를 변경하면 동일한 코드가 더 이상 작동하지 않으며, 그렇지 않은 아무것도 인쇄하십시오.

미리 감사드립니다.

+1

어쩌면 개인 정보 보호 설정 같은 것을 시도하는 클래스? – Nicolas78

답변

2

이 페이지가 무엇인지 또는 Facebook의 URL이 무엇인지 모르겠으므로이를 확인할 수는 없지만 귀하의 페이지가 게시되지 않았을 가능성이 있습니다 (아마도 그렇지 않습니다). 가능성이 있음) 나이 제한입니다. Facebook 그래프는 연령별로 제한된 경우 페이지의 정보에 액세스 할 수 없도록합니다. 불행히도, 페이스 북의 애플리케이션 액세스 토큰이나 심지어 18 이상의 사용자를위한 액세스 토큰을 전달하는 경우조차도 사실입니다. 그것은 매우 어리 석며 bugs.developers.facebook에 적어도 5 개의 버그 보고서가 있어야합니다. 그것을 위해 com.

업데이트
6/13/2011 최근 페이스 북 페이지에 대한 정보를 끌어 유효한 사용자 액세스 토큰을 사용하도록 요구 업데이 트를했다. 이것은 끔찍한 변화입니다, 그러나 그것이 바로 그 것입니다. 유효한 사용자 액세스 토큰이 없으면 기본 정보 (루트, http://graph.facebook.com/<page_id>) 또는 photos 또는 albums 엔드 포인트가 아닌 모든 엔드 포인트에서 또는 error 응답을 얻게됩니다. 당신이 있는지 확인하는 데 필요한 다른 엔드 포인트 (posts, feed, videos, statuses 등) 중 하나를 요청하는 경우

그래서, 당신은 그들에 액세스 할 수 토큰 유효한 사용자 액세스를 제공합니다.

-1

나는 결과가 배열이고 바로 그때 해요 아닌 경우 그래서 $ 그래프 [ "좋아"] 페이지의

+0

같은 방식으로 구조화 된 다른 페이지에서도 작동한다고 생각하면 어떻게 될지 모르겠습니다. –