1

この時点でスキルの限界に達したと思うので、あなたの助けが必要です。グラフ API を使用して Facebook からユーザー データを取得し、それを MYSQL データベースに格納するコードを開発しています。これまでのところ、好きなものを除いて、必要なものをすべて取得して保存することができました。

コードは次のとおりです。

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;
        }
    }

トークンに「user_likes」という権限がありますが。データを保存または取得して 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);

これまでのところ、好きなものを除いてすべてのデータを保存できました。助けてくれてありがとう

4

1 に答える 1

1

/me通話にはいいねが含まれていません。

/me/likes次のようなものを返すhavta 呼び出しを行います。

  { "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"
      },
      ...
      ]
  }

コンマで区切るか、json に保存する場合を除き、テーブル内の 1 つの列にすべての likes が保持されるわけではないことに注意してください。、、などmember_likesで呼び出される別のテーブルが必要です。彼らが好む各ページは、そのテーブルの行です。user_idpage_idname

于 2012-11-28T19:05:44.110 に答える