2011-12-29 7 views

答えて

1

PHP SDKを更新すると、接続のニーズが変更されます。getSession()は使用できなくなりました。代わりにgetUser()を使用してください。また、(Graph APIの前に)あまりにも古いPHP SDKを使用している場合は、いくつかの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コードを使用して接続していますが、変更/ステップのリストを教えてください。 –

+0

あなたが質問で言及したように、私はPHP SDKについて書いています。 – Usman

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アクセストークンを使用するように移行する必要があります。これは、SOのリンクは、このプロセスを説明します。またConverting Facebook session keys to access tokens

、あなたがレガシー認証を使用してキャンバスアプリであれば、あなたがこのページで説明するように変更を加える必要があります:Migrating to OAuth 2.0

+0

ありがとうございます。私は以下のようなクエリをもう少し持っています。 –

+0

「いくつかのより多くのクエリ」部分をスキップしました。それがあなたを助けたなら、あなたは答えをupvoteすることができます。 –

+0

ありがとうございます。私は以下のようなクエリをもう少し持っています。 1)PHP SDKバージョン3.1.1を使用しています。今後の更新のために必要な変更/ケアは、サイトのFB統合機能には影響しません。 2)この新しい設定でSSLを設定する必要はありますか? –

関連する問題