2012-11-28 2 views
1

이 시점에서 내 기술 한도에 도달했다고 생각합니다. 그래프 API를 사용하여 Facebook에서 사용자 데이터를 가져 와서 MYSQL 데이터베이스에 저장하는 코드를 개발 중입니다. 지금까지 내가 좋아하는 것을 제외한 모든 것을 검색하고 저장할 수있었습니다. 내가 토큰의 권한 "user_likes"가 있지만facebook 그래프 API에서 좋아하는 이미지를 가져올 수 없습니다.

function getUserData() { 
     $fb_cookie = $this->getCookie(); 
     if($fb_cookie) { 
      $url = 'https://graph.facebook.com/me?access_token='.$this->getAccessToken(); 
      $data = json_decode($this->getDataFromUrl($url)); 
      $fb['id'] = $data->id; 
      $fb['first_name'] = $data->first_name; 
      $fb['last_name'] = $data->last_name; 
      $fb['email'] = $data->email; 
      $fb['likes'] = $data->likes; 
      $fb['hometown'] = $data->hometown->name; 
      //tokens 
      $fb['token'] = $fb_cookie['access_token']; 
      $fb['token_expires'] = $fb_cookie['expires']; 
      return $fb; 
     } 
    } 

:

여기에 코드입니다. 여전히 MYSQL에 저장하기 위해 데이터를 저장하거나 검색 할 수 없습니다.

function update_members($criteria=array()) { 
    $fb_user_id = $criteria['fb_user_id']; 
     $fb_first_name = $criteria['fb_first_name']; 
    $fb_last_name = $criteria['fb_last_name']; 
    $fb_email = $criteria['fb_email']; 
    $fb_likes = $criteria['fb_likes']; 
    $fb_hometown = $criteria['fb_hometown']; 

     } 

      $sql = "INSERT INTO ".$GLOBALS['db_table']['members']." 
      (fb_user_id, first_name, last_name, fb_email, fb_likes, hometown) 
      VALUES ('$fb_user_id', '$fb_first_name', '$fb_last_name', '$fb_email', '$fb_likes', '$fb_hometown')"; 
      $u1 = new MySqlTable(); 
      $u1->executeQuery($sql); 

지금까지 모든 데이터를 저장할 수 있었지만 좋아요. 미리 도움을 요청 해 주셔서 감사합니다.

답변

1

/me 통화에 좋아하는 항목이 없습니다.

{ "data": [ 
     { 
     "name": "Hunger Games", 
     "category": "Book", 
     "id": "114531238562971", 
     "created_time": "2012-11-28T03:55:27+0000" 
     }, 
     { 
     "name": "CivicRush", 
     "category": "Software", 
     "id": "160319707426901", 
     "created_time": "2012-11-27T01:53:40+0000" 
     }, 
     ... 
     ] 
    } 

은 당신이 그들을 구분하거나 저장 쉼표하지 않으려면 테이블에서 하나의 열이 모두 좋아하는 보유하지 않습니다 유의 사항 :

이 반환하는 것이 무엇 /me/likes 전화 havta거야 json에서. member_likesuser_id, page_id, name 등의 테이블이 필요하며 각 페이지는 해당 테이블의 행입니다.

+0

감사합니다. Tommy. 좋아하는 사람들을 위해 다른 기능을 만들어야합니까? 또는 다른 데이터 필드를 엉망으로하지 않고 현재 기능을 수정할 수 있습니까? –

+0

idk에서 응용 프로그램을 설계했기 때문에 내가 알 수는 없지만'getUserData'는 액세스 토큰을 처리하는 클래스의 일부입니다. 아마 그 기능 안에서. 어떤 경우에는 $ fb [ 'likes']가 배열이 될 것입니다. –

관련 문제