我有这个FQL:
$femail = $facebook->api(array(
'method' => 'fql.query',
'locale' => 'en_US',
'query' =>
'SELECT email
FROM user
WHERE uid
IN (SELECT uid2
FROM friend
WHERE uid1='.$user_id.')
AND uid = '.$friend_id.'
ORDER BY name ASC', ));
以下是print_r
结果:
Array
(
[0] => Array
(
[email] =>
)
)
我想获取朋友的电子邮件地址,但此查询会产生空的电子邮件值。我在查询中遗漏了什么吗?甚至可以收到朋友的电子邮件吗?我和我的合作伙伴一起测试过,她允许该应用发送电子邮件地址。
答案 0 :(得分:3)
一般情况下,您 CAN' 获取朋友的电子邮件地址(source):
User permission Friends permission
email not available
但是,但由于您的朋友已授权您的申请,您可以在FQL console中尝试以下内容:
SELECT email FROM user WHERE uid=FRIEND_ID
我怀疑问题可能是你需要" 朋友的" access_token
实际收到电子邮件,因为我认为您在尝试查询时以您的用户身份登录。因此,您需要授予offline_access
权限,然后将其与查询一起使用。
但在执行上述操作之前,我会尝试使用应用程序access_token
。
P.S:如果您知道朋友ID,则不需要子查询。
答案 1 :(得分:-2)
您无法获取朋友的电子邮件地址。每个帐户都必须选择与应用程序共享其电子邮件地址。朋友们不能选择其他朋友,这是件好事。
另外,正如@ Barkermn01所提到的,放弃AND uid ='。$ friend_id。'