2010-10-12 92 views
0

我在我的应用程序中使用来自Facebook的PHP SDK。当我检索我自己的个人资料的新闻Feed时,它包含每个在我的Feed上有消息的朋友的ID。我可以创建一个链接到每个人的个人资料页面只是他们的Facebook ID?或者是否必须为每个ID创建一个单独的API调用并检索其用户名以创建链接? 这是我正在做的,现在(使API调用的每个朋友):创建链接到新闻源阵列的朋友的个人资料页面

$feeds = $facebook->api('/me/home'); 
foreach($feeds as $feed){ 
    $friend_info = $facebook->api('/'.$feed['from']['id']); 
    $friend_link = $friend_info['link']; 

回答

2

如果您有用户ID,然后在个人资料网址为:http://www.facebook.com/profile.php?id=<UID>

+0

呵呵,不错的作弊。我预计它只与'facebook.com/NNNNN'一起工作,但事实并非如此。 – zerkms 2010-10-12 05:48:55

+0

完美!虽然我必须承认我也从zerkms的回答中学到了很多! – 2010-10-12 06:59:57

1

我不知道更优雅的解决方案是否存在,但我给你提高你的代码中使用FQL像:

SELECT profile_url, uid FROM user WHERE uid IN (1,2,3,4,...) 
+0

好吧,我试图仿效来自Facebook新闻源正好看到API是如何工作的,我想这可能是一个相当普遍的事情要做。但谢谢你的答案。由于我刚接触API,在直接的API调用中使用FQL相当常见?你有什么收益?这是我在文档中找不到的东西 – 2010-10-12 04:01:05

+0

不常见,但通常FQL有助于完成上面显示的操作。好处 - 灵活性。对于一般的API调用,你无法做同样的“IN(1,2,3,)”技巧。在这种情况下,当通用的图表方法解决我的问题时 - 我使用它们,因为它们更短,更简单。 – zerkms 2010-10-12 04:11:42

+0

Gotcha。对不起,但我没有看到IN(1,2,3)条款会给我带来什么,因为我已经知道我试图获取个人资料信息的朋友的UID。 – 2010-10-12 04:21:01