2011-05-31 128 views
-3

我有我的应用程序设置Facebook应用程序?

sandbox is enable and fbml is disable 

的下面设置,但应用程序是可见的只有我的帐户。如果我与其他帐号登录并访问应用程序URL,它说

The page you requested was not found. 

如果我禁用沙箱接着说下面的错误

Switch to regular connection (http)? 

,然后如何设置HTTPS从我的网站的cPanel。

如何解决这一切...

So is there any tutorial to setup latest Facebook application with php SDK 3.0 
WORKING ONE, THERE ARE ALOT IN GOOGLE BUT WERE OLD AND NOT WOKING NOW 
+0

我想显示允许|离开对话框,没有我认为我将无法访问我的应用程序所需的用户所有信息... – 2011-05-31 10:24:56

回答

0

一个很好的和简单的方法来做到这一点是使用Facebook的PHP SDK(see on github)。所以,你会碰到这样的:

require "facebook.php"; 
$facebook = new Facebook(array(
    'appId' => YOUR_APP_ID, 
    'secret' => YOUR_APP_SECRET, 
)); 

$user = $facebook->getUser(); 

if ($user) { 
    try { 
    $facebook->api('/me'); 
    } catch (FacebookApiException $e) { 
    $user = null; 
    } 
} 

你需要再显示登录或注销链接:

<?php if ($user): ?> 
    <a href="<?php echo $facebook->getLogoutUrl() ?>">Logout of Facebook</a> 
<?php else: ?> 
    <a href="<?php echo $facebook->getLoginUrl() ?>">Login with Facebook</a> 
<?php endif ?> 

当用户登录,你有一个有效的访问令牌,可以使API调用来从Facebook获取数据:

$user_profile = $facebook->api('/me'); 

您可能要检查这是有据可查的example page of the Facebook PHP SDK

希望有所帮助。

+0

嗨瓦西姆,“允许/阻止应用程序”对话框打开时,用户点击“登录与Facebook “我的例子的链接。 – Quentin 2011-05-31 11:12:58

0

您寻找:在getLoginUrl

$facebook->getLoginUrl(); 

$facebook->getLogoutUrl(); 

您必须指定至极权限你想需要。例如

$url = $facebook->getLoginUrl(array(
    'req_perms' => 'email,user_birthday,status_update,publish_stream,user_photos,user_videos' 
)); 

您可以在“a href”链接中使用url或直接使用简单重定向。 (如果你在Facebook的iframe中,你必须使用top.location!)

一个完整的例子看​​

0

哪里是你的应用程序托管?您必须拥有安全的画布网址才能禁用沙盒模式。 I.E.一个https链接(SSL)。