2011-12-25 12 views
0

私はFacebookページにタブを追加するためのFacebookアプリケーションを作成しています。私はCodeigniter Frameworkを使っています。私はいくつかのユーザー情報にアクセスする必要があります - 私のアプリの特定のページで電子メール、教育など。したがって、私はそのページでのみ認証し、アクセストークンを取得する必要があります。私の試みでは、私はユーザーを認証することができますが、アクセストークンを取得する必要があるfacebook oauthによって送信されたコードを取得することができません。これは、Codeigniterがget配列を変更したことによるものだと思います。配列を取得する方法をいくつか試しましたが、コードの内容を取得できませんでした。CodeigniterのOAuthページを追加するためのFacebookアプリケーション

私のアプリでユーザーのoauthトークンを取得するための簡単な方法を教えてください。私は多くを検索しようとしましたが、何も機能しませんでした。

$canvas_page = $page_url; 
$signed_request = $_REQUEST["signed_request"]; 
$code = $this->input->get('code'); 
list($encoded_sig, $payload) = explode('.', $signed_request, 2); 
$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true); 

$auth_url = "https://www.facebook.com/dialog/oauth?client_id=" . $app_id . "&redirect_uri=" . urlencode($canvas_page)."&scope=email,user_work_history,user_education_history"; 
    if (empty($data["user_id"])) { 
     echo("<script> top.location.href='" . $auth_url . "'</script>"); 
    } else { 
     echo ("Welcome User: " . $data["user_id"])."<br/>"; 
     $token_url = "https://graph.facebook.com/oauth/access_token?". "client_id=" . $app_id . "&redirect_uri=" . urlencode($canvas_page). "&client_secret=" . $app_secret . "&code=" . $code; 
     $a = file_get_contents($graph_url); 
     var_dump($a); 
    } 

私にはOAuthを成し遂げるための簡単な方法を教えてください:

今のところ、これは私が書いたコードです。私は、OAuthを把握しようとするよりも、そのアプリの開発に時間を費やしたいと思っています。

答えて

0

GETのサニタイズを無効にすることはできますが、おそらくこれは必要ありません。

parse_str($_SERVER['QUERY_STRING'], $args); // $args now contain GET parameters 
:あなたはこのような何かを行うことができます迅速かつ汚いソリューションとして

関連する問題