【问题标题】:Facebook App: Getting a user's name from IDFacebook 应用程序:从 ID 获取用户名
【发布时间】:2012-06-06 15:46:37
【问题描述】:

我刚刚收到了一个 FB 应用项目,我正在尝试在它上线之前清理一些项目。

原始程序员将用户 ID 号存储在数据库中,但不显示它或名称。我想在他们上传的图片下显示用户的名字。

我的代码是<?php echo $row['user_id']; ?>,有没有简单的方法可以把它转换成用户名?

【问题讨论】:

    标签: facebook facebook-apps


    【解决方案1】:

    使用名称字段从 API 调用 id。

     https://graph.facebook.com/user_id?fields=name
    

    它应该返回

    {
       "name": "First Lastname",
       "id": "user_id"
    }
    

    将其保存到变量中,然后提取

     $user['name'];
    

    欲了解更多信息http://developers.facebook.com/docs/reference/api/user/

    没有 SDK/访问令牌的示例,

    $response = file_get_contents("https://graph.facebook.com/4?fields=name");  
    $user = json_decode($reponse,true);  
    echo $user['name'];  
    

    应该打印,

    'Mark Zuckerberg'
    

    【讨论】:

    • 我需要在配置文件或 facebook.php 中定义吗?为菜鸟问题道歉,我是 FB 开发的新手。
    • @ryan 不一定如上述文档中定义的那样,id、name 不需要访问令牌。因此,您可以滚动自己的逻辑来接收来自该调用的 JSON 响应。
    • 好兄弟。这对我有用graph.facebook.com/4?fields=username
    • { "error": { "message": "Unsupported get request.", "type": "GraphMethodException", "code": 100 } }
    • 看起来这已被弃用。
    【解决方案2】:

    尝试像这样使用 php graph api:

    $facebook = new Facebook(array(
       'appId'  => "your appID",
       'secret' => "your app secret",
       'cookie' => true,
    ));
    
    $answer = $facebook->api("/{$row[user_id]}");
    $username = $answer['name'];
    print $username;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-21
      • 1970-01-01
      相关资源
      最近更新 更多