2012-04-19 12 views
0

を使用している場合は、上記のエラーを投げるのコードです:FBのAPI/ME /友人「エラー:foreachのために供給無効な引数()」ここ友人配列

$friend_json = $facebook->api('/me/friends'); 
    $friends = array(); 
    foreach($friend_json->data as $friend) { 
     $friends[] = $friend->name; 
    } 
    $friend_list = json_encode($friends); 

それがなかったとして、私はこのコードの動作のを知っています私は同じクエリを行っていたが、file_get_contents();の直接グラフAPI URLを使用しているときにこのエラーが発生しました。 SDKは、同じスクリプトでユーザーデータを正常にプルするために使用されているため、正しくインストールされています。

+0

あなたは本当に友達がいますか? :P申し訳ありませんが、抵抗できませんでした。 'var_dump($ friends_json);'を試して、それに含まれているものを調べてください。 –

答えて

0

はPHPに限り、私は承知しているように、オブジェクトとして扱われ、配列の配列され、これを試してみてください、それが'->'を使用して私を好きではなかったですサブ配列にアクセスするために、角括弧を使用しました。あなたの助けをありがとうございます。

作業コード: $ friend_list = $ facebook-> api( '/ me/friends');

$friends = array(); 
foreach($friend_list['data'] as $friend) { 
    $friends[] = $friend['name']; 
} 
$friend_list = json_encode($friends); 
0

Facebook::apiからの応答はArrayです:

foreach($friend_json['data'] as $friend) { 
    $friends[] = $friend->name; 
} 

それはエラーの簡単なチェックを追加することも良いでしょう。

if ($friend_json && isset($friend_json['data']) 
    foreach($friend_json['data'] as $friend) { 
    $friends[] = $friend->name; 
    } 
0

$user_friendsにもかかわらず

$user_friends = $facebook->api('/me/friends'); 
$friends_details = json_decode(file_get_contents('https://graph.facebook.com/me/friends?access_token=<your access token>']), true); 
for($i=0;$i<sizeof($friends_details);$i++){ 
    $friends_name[] = $friends_details['data'][$i]['name']; 
} 
関連する問題