2010-12-06 4 views
1

私は間違った方法で完全に検索したことがあります。私の意見では、Facebookのドキュメントがかなりうんざりです。facebook php APIのその他の設定

私は以下の設定でFacebookに接続しています。ログインしているユーザーのプロファイル情報を取得できます(自分のアプリケーションが自分のプロファイルにアクセスできるようになります)。コールバックURLと有効期限(私は決して設定したくないので、私のデータベースにトークンを保存して再利用できるように)を設定できますか?

これは今configです:

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

私もツイッターへの接続だとそこに私は、このことができるよ:事前に

$this->configTwitter = array(
     'callbackUrl' => 'xxxxxxxxxxxx', 
     'siteUrl' => 'http://twitter.com/oauth', 
     'consumerKey' => 'xxxxxxxxxxxx', 
     'consumerSecret' => 'xxxxxxxxxxxx' 
    ); 

ありがとう!

Facebookはあなたが認証の点に設定することができます多くの設定がありますがツイッター

答えて

2

数日後、予想通りとして良い仕事してインターネットを検索しないグラフのOAuth 2.0は、(私は次のスクリプトを作成するために使用される解決策を見つけた:

// Config 
    $this->redirectUrl = 'http://www.mywebsite.com/facebook' 
    $this->clientId = 'APPLICATION_ID'; 
    $this->permissions = 'publish_stream,offline_access'; 

    // Check if a sessions is present 
    if(!$_GET['session']) 
    { 
     // Authorize application 
     header('Location: http://www.facebook.com/connect/uiserver.php?app_id='.$this->clientId.'&next='.$this->redirectUrl.'&perms='.$this->permissions.'&return_session=1&session_version=3&fbconnect=0&canvas=1&legacy_return=1&method=permissions.request'); 
    } 
    else 
    { 
     $token = json_decode($_GET['session']); 
        echo $token->access_token; // This is the access_token you'll need! 

     // Insert token in the database or whatever you want 
    } 

コードのこの作品は素晴らしい作品と次のアクションを実行します。

  1. ユーザーがログインしている場合はログインしてください。ユーザーがアプリケーションを追加したいと(私の場合:publish_streamとoffline_access)要求されたアクセス権を付与した場合のFacebook
  2. にログインしていない尋ね、あなたがaccess_tokenはとredirectUrlの下で指定したページへ1つの
  3. ダイアログリターンであなたが望むなら、私は、今、することができます再び

    を、それを要求する必要はありませんので、(私たちはこの1つは有効期限が切れていないオフラインアクセスのために要求されたため)

私は、データベース内のトークンを保存しますFacebookのコードを使用するか、独自のコードを使用してユーザーのデータやFacebookの他の情報を入手します(必ずリクエストしてくださいd適切なアクセス許可)

これはFacebookの有効なコードですが、これはうまく動作し、私が望むように 'config'を簡単に定義することはできません。

0

を見てみる必要があります。拡張アクセス権を使用すると、セッションを認証してdbに格納できるように、offline_accessを設定できます。拡張アクセス許可の詳細については、developers.facebook.com/docs/authentication/permissionsを参照してください。また、私のブログ記事では、それらを使用する方法についての詳細を読むことができます。http://www.joeyrivera.com/2010/facebook-graph-api-app-easy-w-php-sdk/

関連する問題