我正在创建一个iPhone电子邮件客户端,在收件箱的UITableViewCell
中显示发件人的个人资料图片,就像Sparrow一样。我正在使用以下FQL查询来获取这些图像:
SELECT
pic_big
FROM
user
WHERE
uid IN (SELECT uid2 FROM friend WHERE uid1 = me())
AND
strpos(lower(name),'INSERT_FIRST_THREE_LETTERS_OF_FIRST_NAME_HERE') >= 0
AND
strpos(lower(name),'INSERT_LAST_NAME_HERE') >= 0
ORDER BY name
我从电子邮件标题中获取发件人的姓名,然后使用完整的姓氏和名字的前三个字母搜索用户的Facebook好友以说明昵称。这在整体上非常有效。
然而,Sparrow能够从Facebook获取个人资料图片给我甚至不是朋友的用户。这怎么可能?我虽然查询仅限于特定群体,例如您的朋友。搜索电子邮件地址无效?它是否正确? Sparrow如何抓住这些个人资料图片?答案 0 :(得分:3)
只要您知道用户的Facebook ID - 这是一个很长的数字,但将其视为一个字符串。您可以使用此网址获取他们的个人资料照片:
https://graph.facebook.com/[id]/picture
不需要任何更复杂的事情。
答案 1 :(得分:2)
您可以通过以下方式拨打API来获取其电子邮件中任何已知用户的user_id:
/search?type=user&q=USER@EMAIL.NET
如果他们的电子邮件是在Facebook和公众注册的,那么您将获得一个带有他们的姓名和用户ID的JSON对象。您需要单独调用(或使用批处理请求)从其ID中获取图片。