Facebook好友发送电子邮件至FQL

时间:2011-02-25 07:42:10

标签: php facebook facebook-fql

我有这个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] => 
        )

)

我想获取朋友的电子邮件地址,但此查询会产生空的电子邮件值。我在查询中遗漏了什么吗?甚至可以收到朋友的电子邮件吗?我和我的合作伙伴一起测试过,她允许该应用发送电子邮件地址。

2 个答案:

答案 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。'