2011-12-29 26 views
0

我们正在使用旧版本的Facebook连接PHP SDK,我们需要做些什么改变才能使应用程序适应新的更改(目前该应用程序不能正常工作以FB应用程序版本更改)在Facebook应用程序中进行的更改PHP SDK

+0

什么是你是SDK版本使用? – 2011-12-29 12:48:07

+0

VERSION = 2.1.1 – 2011-12-30 05:16:40

回答

1

更新您的PHP SDK,连接需要更改,getSession()不再可用,请改为使用getUser()。另外,如果您使用的是过时的PHP SDK(在Graph API之前),那么您可能需要更新一些API调用函数。

整体连接如下图所示:

$facebook = new Facebook(array(
    'appId' => '111111111',// your appId here 
    'secret' => '1a1a1a1a1a1a1',// your app secret here 
)); 


$user = $facebook->getUser(); 

if ($user) { 
    try { 
    $user_profile = $facebook->api('/me'); 

    } catch (FacebookApiException $e) { 
    error_log($e); 
    $user = null; 
    } 
} 

if ($user) { 
    $logoutUrl = $facebook->getLogoutUrl(); 



} else { 
    $loginUrl = $facebook->getLoginUrl(); 
    echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>"; 
    exit; 
} 
+0

我们正在使用SDK 2.1.1版本和使用JavaScript代码进行连接,您能否给我们列出我们需要做的更改/步骤? – 2011-12-30 05:15:45

+0

我写过关于PHP SDK的问题,正如你在问题中提到的那样。 – Usman 2011-12-31 09:06:21

0

简短的回答:认证流程和REST API弃用

龙回答:曾经有两个主要版本,因为2.1版本的变化。您应该通过facebook developer blog以清楚了解变化。

下面的一些公告链接:

  1. Developer Roadmap Update: Moving to OAuth 2.0 + HTTPS
  2. Upgrade to PHP SDK v3.0.0
  3. Migrating to OAuth 2.0 update: PHP SDK v.3.1.1

使用PHP SDK新的登录流程是这样的:

$facebook = new Facebook(…); 
$user = $facebook->getUser(); 
if ($user) { 
    // proceed knowing you have a logged in user who's authenticated 
} else { 
    // proceed knowing you require user login and/or authentication 
} 

如果您正在存储会话密钥,他们将不再工作。您需要迁移才能使用oauth访问令牌。这个所谓的链接讨论了这一过程:Converting Facebook session keys to access tokens

而且,如果你使用传统权威性是帆布的应用程序,你需要做出改变,因为这页上介绍:Migrating to OAuth 2.0

+0

谢谢你的回应。我有几个更多的查询如下, – 2011-12-30 09:46:18

+0

你似乎跳过了'几个更多的查询'部分。如果它对你有帮助,你可以加快答案。 – 2011-12-30 10:37:20

+0

谢谢你的回应。我有几个更多的查询如下, 1)现在我们正在使用PHP SDK版本3.1.1&做了更改在JS代码的范围,它的工作范围烫发。我们需要对未来的更新进行哪些更改/关注,以免影响我们网站的FB集成功能。 2)我们是否需要在这个新设置中设置SSL? – 2011-12-30 11:34:12

相关问题