2017-06-27 9 views
0

facebookアカウントから投稿を返すFacebook Graph APIへのリクエストがあります。FacebookのグラフAPIからPHPのオブジェクト変数にアクセスできない

私は単にオブジェクトのインスタンスはPHPで返さデータにアクセスしようとしていますが、すべて私がNULL戻りを試してみました。私は、オブジェクトデータの配列で取得したい

サンプル応答

{ 
    "data": [ 
     { 
     "id": " 111111111111111111100000", 
     "message": "Coming soon #PERFECTFIT 05.07.17 \nRegister to be one of the first to find out what it is here ⬇️\nhttp://www.bathrugby.com/the-club/supporters/perfect-fit-register/", 
     "created_time": "2017-06-26T17:39:20+0000", 
     "link": "http://www.bathrugby.com/the-club/supporters/perfect-fit-register/", 
     "full_picture": "https://scontent.xx.fbcdn.net/v/t39.2147-6/19284954_1592534984092755_4946207882807869440_n.jpg?oh=56cc96435f423cec31962966b6f689c2&oe=59DB08B6" 
     } 
    ] 
} 

ので、私は大きな応答で返されたデータをMVCできています。

これは、現在動作しません:

$response->data; // returns null 
$response[0]->data; // returns null 
$response->data[0]; // returns null 

は、私が何かを明らかに欠けている感じます。

+1

デコードした後に 'var_dump($ response);'を実行します。 (デコードが必要な場合)。このようにして、データがどのように構造化されているかを確認し、アクセス方法を理解します。 – Twisted1919

+0

これは 'var_dump'からのものです。キーの 'data'が現在のデータ構造体からアクセス可能であることは確かにデコードする必要はありませんか? – Shwmae

+0

アドバイスをして、応答をvar_dumpしてください。上記のことはvarダンプされていない、それは単にあなたが持っていると思う、そして明らかにあなたがしないと思うjsonの表現です); – Twisted1919

答えて

0

json_decodeはその後、あなたはJSONレスポンスからデータを得ることができるので、最初のJSONデコード機能を使用する必要が

$res = json_decode($response);  
print_r($res->data); 
print_r($res->data[0]->id); 
print_r($res->data[0]->message); 

code

0

データオブジェクトにアクセスしようとすると第1デコードに。

$response = '{ 
    "data": [ 
    { 
    "id": "143384725674462_1592535354092718", 
    "message": "Coming soon #PERFECTFIT 05.07.17 \nRegister to be one of the first to find out what it is here ⬇️\nhttp://www.bathrugby.com/the-club/supporters/perfect-fit-register/", 
    "created_time": "2017-06-26T17:39:20+0000", 
    "link": "http://www.bathrugby.com/the-club/supporters/perfect-fit-register/", 
    "full_picture": "https://scontent.xx.fbcdn.net/v/t39.2147-6/19284954_1592534984092755_4946207882807869440_n.jpg?oh=56cc96435f423cec31962966b6f689c2&oe=59DB08B6" 
    } 
] 
}'; 

$response = json_decode($response); 

print_r($response->data[0]->id); 
print_r($response->data[0]->message); 
関連する問題