我正在创建一个iPhone电子邮件客户端,在收件箱的 UITableViewCell
中显示发件人的 Profiles 图片,就像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
我从电子邮件 Headers 中获取发件人的姓名,然后使用完整的姓氏和名字的前三个字母搜索用户的Facebook好友以说明昵称 . 这整体上非常有效 .
然而,麻雀能够从Facebook获取 Profiles 图片供我不是朋友的用户使用 . 这怎么可能?我虽然查询仅限于特定群体,例如您的朋友 . 搜索电子邮件地址无效?它是否正确? Sparrow如何 grab 这些 Profiles 图片?
2 回答
好吧,只要你知道用户Facebook ID - 这是一个很长的数字,但把它当作一个字符串 . 您可以使用此网址获取他们的 Profiles 照片:
不需要任何更复杂的东西 .
您可以通过以下方式调用API来获取其电子邮件中任何已知用户的user_id:
如果他们的电子邮件是在Facebook和public上注册的,那么您将获得一个带有其名称和用户ID的JSON对象 . 您需要单独调用(或使用批处理请求)从其ID中获取其图片 .