-1

Facebook APIから出身地と場所を保存しようとしていますが、出身地と場所の配列からデータを抽出する際に問題が発生します。(私はすでにそのためのトークン権限を持っています)

"hometown": {
    "id": "210336945633449",
    "name": "xxxx, yyyyy"

私は次のコードを使用しています

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['name'] = $data->name;
            $fb['first_name'] = $data->first_name;
            $fb['last_name'] = $data->last_name;
            $fb['link'] = $data->link;
            $fb['birthday'] = $data->birthday;
            $fb['gender'] = $data->gender;
            $fb['email'] = $data->email;
            $fb['location'] = $data->location; // <-----
$fb['hometown'] = $data->hometown; // <-----
            $fb['timezone'] = $data->timezone;
            $fb['locale'] = $data->locale;
            $fb['updated_time'] = $data->updated_time;
            $fb['picture'] = 'http://graph.facebook.com/'.$data->id.'/picture';


            //tokens
            $fb['token'] = $fb_cookie['access_token'];
            $fb['token_expires'] = $fb_cookie['expires'];
            return $fb;
        }
    }

誰かが私がこれを理解するのを手伝ってもらえますか?

ありがとう

4

2 に答える 2

0

場所の名前を取得するには、次を試してください。

$loc=$data->getLocation();
$loc_name=$loc->getName();

上記のコードは Facebook SDK v4 に適用されます。(この SDK には PHP 5.4.0 以降が必要です)

于 2014-11-19T22:22:38.103 に答える
0

場所と出身地もこのように使用するオブジェクトなので、これらの値を取得します。

$fb['location'] = $data->location->name;
$fb['hometown'] = $data->hometown->name; 
于 2012-09-29T16:46:12.823 に答える