2017-03-28 13 views
1

私はfacebookグラフからrespondeを読み出そうとしています。それは私にaccess_tokenを送るが、私は読むことができない。これは以前から働いていましたが、何らかの理由で今日は機能しなくなりました。 [ 'access_tokenは']parse_strから変数を取得する

Array 
(
    [{"access_token":"EAAXZBwzyN6xkBAD0szEptWK6tMJlH68HmmZA6SM2nZBZCoQgPIDAvNaL0Fv9z89nwJhkkRCNRJHvlS9rzn09EdUEbH9ZBVajZAVXlF0SJyoJhW3NvMZAyZB7MOMSbFEsQe4RKSTxiQIZCVxnMPYI3tSxsjxgVZBPZCrbAZD","token_type":"bearer","expires_in":5162746}] => 
) 

しかし$ paramsは常に空である:

$token_url = "https://graph.facebook.com/oauth/access_token?" . "client_id=" . $fb_app_id . "&redirect_uri=" . urlencode($fb_return_url) . "&client_secret=" . $fb_app_secret . "&code=" . $code; 

$response = file_get_contents($token_url); 

$params = null; 
parse_str($response, $params); 

echo "<pre>"; 
print_r($params); 
echo "</pre>"; 

$_SESSION['access_token'] = $params['access_token']; 

$graph_url    = "https://graph.facebook.com/me?access_token=" . $params['access_token']; 
$facebook_user_info  = json_decode(file_get_contents($graph_url)); 

上記ますprint_r()を示しています。どのように正しくaccess_tokenを取得するには?

おかげ

答えて

1
$response = file_get_contents($token_url); 

ここ$response JSONオブジェクトで、あなたは次のように配列に変換するjson_decode()を使用する必要があります。

$resp = json_decode($response, true); 

など$respを使用します。

echo $resp['access_token']; 
+0

ありがとう、それは、私はそれを試みたが、2番目のパラメータ "真" json_decode()の場合、なぜそれが以前に働いたのだろうか... grr –

+1

trueを渡さないと、 '$ resp-> access_token'のようにアクセスできるStdクラスオブジェクトが返されます。 –

関連する問題