Facebook friends email FQL

荒凉一梦 提交于 2019-12-29 08:22:09

问题


I have this 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', ));

Here is the print_r result:

Array
(
    [0] => Array
        (
            [email] => 
        )

)

I want to get friend's email address, but this query results in empty email values. Does I miss something in query? Does it even possible to get friends email? I tested with my partner, she gave permission to the app to give out email address.


回答1:


In general, you CAN'T get the email address of your friends (source):

User permission     Friends permission
email             not available

BUT but since your friend has authorized your application, you can try the following in the FQL console:

SELECT email FROM user WHERE uid=FRIEND_ID

What I suspect the problem could be is that you need the "friend's" access_token to actually get the email because I suppose you are logged-in as your user when trying your query. So you need to grant the offline_access permission and then use it with the query.

But before doing the above, I would try it with an application access_token.

P.S: the sub-query is not needed if you know the friend id.




回答2:


You can't get email addresses of friends. Each account must opt-in to sharing their email address with the application. Friends can't opt other friends in, which is a good thing.

Also, as @Barkermn01 mentioned, drop the AND uid = '.$friend_id.'



来源:https://stackoverflow.com/questions/5114784/facebook-friends-email-fql

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!