0

ユーザー ログインに FB バッチ API を使用しています。これが API 呼び出しです。

$queries = array(

array('method' => 'GET', 'relative_url' => '/'.$user),
array('method' => 'GET', 'relative_url' => '/'.$user.'/home?limit=50'),
array('method' => 'GET', 'relative_url' => '/'.$user.'/friends'),
array('method' => 'GET', 'relative_url' => '/'.$user.'/photos?limit=6'),

);

// POST your queries to the batch endpoint on the graph.
try{
 $batchResponse = $facebook->api('?batch='.json_encode($queries), 'POST');

 }catch(Exception $o){
 error_log($o);
}

//Return values are indexed in order of the original array, content is in ['body'] as a JSON
//string. Decode for use as a PHP array.

$user_info  = json_decode($batchResponse[0]['body'], TRUE);
$feed   = json_decode($batchResponse[1]['body'], TRUE);
$friends_list = json_decode($batchResponse[2]['body'], TRUE);
$photos   = json_decode($batchResponse[3]['body'], TRUE);

user_info 変数を印刷するprint_r($user_info)と、この配列が得られますが、ユーザーの電子メール IDが表示されません。理由がわかりません。ドキュメントを調べましたが、解決策が見つかりませんでした。これを達成するにはどうすればよいですか?
認証が原因である場合、信頼できるパラメーターを API に送信するにはどうすればよいですか? また、認証は電子メール アドレスにのみ適用され、他のフィールドには適用されませんか?

Array
(
[id] => 1000015567757
[name] =>Name
[first_name] => First name
[last_name] => Last name
[link] => http://www.facebook.com/sach.ch
[username] => sachtawa
[birthday] => 12/13/1987
[hometown] => Array
    (
        [id] => 1000015534545
        [name] => Patna, India
    )

[location] => Array
    (
        [id] => 106442706060302
        [name] => Pune, Maharashtra
    )

[gender] => male
[timezone] => 6
[locale] => en_US
[verified] => 1
[updated_time] => 2012-12-13T04:11:12+0000
)

ご清聴ありがとうございました

4

1 に答える 1

2

ユーザーのメールを読むには、適切な権限が必要ですhttps://developers.facebook.com/docs/reference/login/#permissions

つまり、それを読む許可を明示的に求める必要があります

于 2012-12-24T14:12:46.010 に答える