Facebook身份验证窗口弹出

问题描述:

我从http://nocturnsoft.com/devblog/?p=174网站得到了以下代码,一切工作正常。但遇到一个小的UI问题。弹出登录窗口未打开。我想包括js sdk或只是使用不同的代码。弹出是至关重要的部分,因为我将用in和iFrame调用页面。Facebook身份验证窗口弹出

在此先感谢。

require_once "src/facebook.php"; 

$app_id = "xxx"; 
$app_secret = "xxx"; 

// Init facebook api. 
$facebook = new Facebook(array(
     'appId' => $app_id, 
     'secret' => $app_secret, 
     'cookie' => true 
)); 

// Get the url to redirect for login to facebook 
// and request permission to write on the user's wall. 
$login_url = $facebook->getLoginUrl(
    array('scope' => 'publish_stream') 
); 

// If not authenticated, redirect to the facebook login dialog. 
// The $login_url will take care of redirecting back to us 
// after successful login. 
if (! $facebook->getUser()) { 
    echo <<< EOT 
<script type="text/javascript"> 
top.location.href = "$login_url"; 
</script>; 
EOT; 

    exit; 
} 

// Do the wall post. 
$facebook->api("/me/feed", "post", array(
    message => "Testing Wall post", 
    picture => "http://www.cjp.org/display_image.aspx?ID=348063", 
    link => "http://www.cjp.org", 
    name => "Combined Jewish Philanthropies", 
    caption => "The Jewish Federations of North America" 
)); 

您正在使用的方法只是将用户重定向到应用程序登录页面。如果你想有一个弹出,你应该使用JS SDK和的FB.login功能喜欢这里解释:

https://developers.facebook.com/docs/reference/javascript/FB.login/

+0

喜迈克尔,感谢的快速反应。你提到的方法正在工作,但我希望预先填充消息而不是让用户输入消息。 谢谢,雷克斯 – rex 2011-12-14 21:19:08