【问题标题】:Create link to friend's profile page from news feed array从新闻提要数组创建指向朋友个人资料页面的链接
【发布时间】:2012-12-24 06:20:35
【问题描述】:

我在自己的应用程序中使用来自 facebook 的 PHP SDK。当我为自己的个人资料检索新闻提要时,它包含在我的提要上有消息的每个朋友的 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'];

【问题讨论】:

    标签: php facebook


    【解决方案1】:

    如果您有用户 ID,则配置文件网址为:http://www.facebook.com/profile.php?id=<UID>

    【讨论】:

    • 呵呵,不错的作弊。我预计它只适用于 facebook.com/NNNNN,但它没有。
    • 完美!虽然我必须承认我确实从 zerkms 的回答中学到了很多东西!
    【解决方案2】:

    我不知道是否存在更优雅的解决方案,但我建议您改进代码以使用FQL,例如:

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

    【讨论】:

    • 好的,我正在尝试模拟来自 facebook 的新闻提要,只是为了看看 API 是如何工作的,我认为这可能是一件相当常见的事情。但是谢谢你的回答。由于我是 API 新手,在直接 API 调用上使用 FQL 是否相当普遍?你得到什么好处?这就是我发现文档中缺少的东西
    • 不常见,但通常 FQL 有助于完成我上面展示的事情。好处 - 灵活性。对于一般的 api 调用,您无法执行相同的 IN (1,2,3,) 技巧。在这种情况下,当常见的图形方法解决我的问题时 - 我使用它们,因为它们更短更简单。
    • 明白了。抱歉,我看不出 IN(1,2,3) 子句能给我带来什么好处,因为我已经知道要获取其个人资料信息的朋友的 UID。
    • 使用该 FQL,您将使用:1 次查询供稿,1 次查询所有朋友。在您的情况下,您执行 N 次查询以获取用户的链接。
    • 啊,我现在明白了。在该查询中,您将获得您的 friends_list 中的所有 profile_url 和 UID。我想我只需要更深入地研究 FQL!
    猜你喜欢
    • 1970-01-01
    • 2011-10-12
    • 1970-01-01
    • 1970-01-01
    • 2013-04-17
    • 1970-01-01
    • 1970-01-01
    • 2015-02-10
    • 1970-01-01
    相关资源
    最近更新 更多