用户名未显示在Facebook Hello world应用程序中

时间:2010-06-30 10:05:22

标签: facebook

我是创建Facebook应用程序的新手,因此开始使用简单的Hello World应用程序。但是当我尝试显示我的名字时,它不会显示。

这是我的代码:

 <?php
   require_once 'facebook.php';

   $api_key = 'mykey';
   $secret = 'mysecretkey';
   $facebook = new Facebook($api_key, $secret);
   $user = $facebook->require_login();

   $fbml      = "<h2>Hello world, my name is <fb:name uid='<?php echo $fb_user;?>'   useyou='false' />,"
       . "welcome to my first facebook application!</h2>";
   echo $fbml;
?>

我的脸书应用中的输出是,

     Hello world,my name is,welcome to my first facebook application!

我的名字在这里丢失了。

如果我添加下面给出的代码,显示朋友的列表,

 $friends = $facebook->api_client->friends_get();
 echo "<pre>Friends:" . print_r($friends, true). "</pre>";

我收到错误消息

 Warning: fopen() [function.fopen]: php_network_getaddresses: getaddrinfo failed:
 No such host is known. 
 in C:\Documents and Settings\256148\My Documents\ide\xampplite\htdocs\facebookApp\facebookapi_php5_restlib.php on line 1755

 Warning: fopen(http://api.facebook.com/restserver.php) [function.fopen]:
 failed to open stream: php_network_getaddresses: getaddrinfo failed: 
 No such host is known. in C:\Documents and Settings\256148\My Documents\ide\xampplite\htdocs\facebookApp\facebookapi_php5_restlib.php on line 1755

请指导我。

2 个答案:

答案 0 :(得分:1)

我找到了解决问题的方法。我必须将应用程序设置中的连接URL设置为我的画布回调URL,并创建一个跨域通信通道文件,如tutorial中所示。本教程非常有用,并详细介绍了如何创建一个简单的Facebook应用程序。

但是当我使用$facebook->api_client->friends_get();

时,我仍然收到网络错误

答案 1 :(得分:0)

FBML Facebook应用程序

首先,尝试使用以下代码进行身份验证过程(applogin.php):

<?php
require_once "facebook.php";
require_once "config.php";

$facebook = new Facebook(array(
    'appId'  => FB_APP_ID,
    'secret' => FB_API_SECRET,
    'cookie' => true
));

$session = $facebook->getSession();

$params = array(
        'canvas'     => 1,
        'fbconnect'  => 0,
        'next'       => URL_CANVAS,
        'cancel_url' => 'http://www.facebook.com/',
        'req_perms'  => 'publish_stream, status_update, offline_acces'
    );
$login_url = $facebook->getLoginUrl($params);

// if not logged in, redirec to login page
if (!$session) {
    echo '<fb:redirect url="' . $login_url . '" />';
    exit;
} else {
    try {
        $uid = $facebook->getUser();
        $me  = $facebook->api('/me');
        $access_token = $session['access_token'];
    } catch (FacebookApiException $e) {
        echo 'Error';
        exit;
    }
}
?>

这是config.php

<?php
// Facebook 
    define('FB_APP_ID', '');
    define('FB_API_SECRET', '');
    define('URL_CANVAS', 'http://apps.facebook.com/YOURAPP/');
    define('URL_CALLBACK', 'http://FB.YOURCALLBACKURL.COM/YOURAPP/');
?>

最后是你的index.php

<?php
require_once dirname(__FILE__) . "/applogin.php";

// using Graph API
echo $me['name'];
?>
<!--// some FBML //-->
<fb:bookmark />
<h2>Hello world, my name is fb:name uid='<?php echo $uid;?>'   useyou='false' /> 
welcome to my first facebook application!</h2>

希望这可以帮助您编写自己的Facebook应用程序。