2012-12-21 2 views
0

Facebook 그래프 API를 사용하여 Facebook 사용자 목록에서 성별을 얻고 있습니다. 나는 사용자의 ID를 가지고있다 (그들은 내 앱의 현재 사용자이다). 이를 위해 gender에는 특별한 권한이 필요하지 않기 때문에 API를 사용할 필요가 없습니다. 기본 정보 권한을 얻었음에도 불구하고 말입니다. 기본적으로 나는 while 루프를 사용하여 사용자가 앱을 사용할 때 잡은 FB ID를 저장 한 MySQL 테이블의 모든 행을 반복합니다. while 루프 외부에서 json_decode 코드를 수행하면 위대한 코드가 작동하지만 (분명히 테이블의 첫 번째 인스턴스 만 잡을뿐) 그런 다음 루프에 넣으면 페이지가로드되지 않습니다. 그냥 앉고 영원히로드하려고합니다. 코드는 다음과 같습니다.Facebook 그래프 - 잠시 동안 성별 정보를 가져올 수 없습니다.

$sql = "SELECT * FROM fb_id ORDER BY timestamp DESC"; 
$result = $mysqli->query($sql);      

while($row = mysqli_fetch_array($result)){ 
        $jsonurl = "https://graph.facebook.com/".$row['fb_id']; 
        $json = file_get_contents($jsonurl,0,null,null); 
        $json_output = json_decode($json); 
        $user_gender = $json_output->gender; 
        echo $user_gender; 
        } 

        while($row = mysqli_fetch_array($result)){ 
        echo "<a href='http://www.facebook.com/".$row['fb_id']."' target='_blank'><img src='http://graph.facebook.com/".$row['fb_id']."/picture/' /></a>"; 
        } 

성별을 나타내는 코드가 표시됩니다. 하단 루프는 사용자의 프로필 사진을 표시하는 것입니다. 그 하단 루프 잘 작동합니다.

페이스 북 그래프에 대한 호출이 멈추는 이유는 무엇입니까? 감사!

답변

2

하단 루프는 사용자의 프로필 사진을 표시합니다. 그 하단 루프 잘 작동합니다.

하단 루프도 마찬가지입니다.

페이스 북 그래프에 대한 호출이 멈추는 이유는 무엇입니까?

그래프 API는 괜찮습니다. 걱정할 필요가 없습니다.

데이터베이스 쿼리 결과를 한 번 반복하여 사용자 세부 정보를 얻고 성별을 에코합니다.

그 후 DB 쿼리 결과가 끝나고 더 이상 가져올 행이 없습니다.

그러면 첫 번째 검사에서 두 번째 while 루프의 조건이 false이되어 루프 내용이 한 번 실행되지 않습니다.

어째서 두 번째 루프를 넣었습니까? 첫 번째 루프에서와 동일한 열 값에 액세스하고 있습니다. 두 코드 블록의 내용을 모두 하나의 코드 블록while 키워드 블록에 넣지 마십시오.

+0

총 오한이었습니다. 나는 당신이 말하는 것을보고 있습니다. 나는 왜 그렇게했는지, 내 마음에 다른 것들이 있었음에 틀림 없다. 고쳐서 그것을 시험해 볼게요. 나는 받아 들여진 대답으로 잘하면 당신에게 돌아갈 것입니다! – MillerMedia

+0

일했습니다. 고마워요! – MillerMedia

관련 문제