0

これは、ユーザーアクセストークンを取得する方法です

$code = $_REQUEST["code"];
 //auth user
 if(empty($code)) {
     $dialog_url = 'https://www.facebook.com/dialog/oauth?client_id=myclientid&redirect_uri=' . urlencode('http://myweb.com/facebook.php') ;
    echo("<script>top.location.href='" . $dialog_url . "'</script>");
  }
  //get user access_token
  $token_url = 'https://graph.facebook.com/oauth/access_token?client_id=myclientid&redirect_uri=' . urlencode('http://myweb.com/facebook.php') 
    . '&client_secret=mybigsecret&code=' . $code;
  $access_token = file_get_contents($token_url);

しかし、リダイレクトなしでそれを行う方法があるかどうか疑問に思っていましたか?

4

2 に答える 2

0

X-Frame-Options:DENYFacebookは oauth ページにヘッダーを設定し、この場合 iframe の使用を拒否しているため、一般的なブラウザーには解決策がないと思います。

于 2012-11-06T06:35:14.197 に答える
0

これが私のコーディングです。試すことができます...

$code = $_REQUEST["code"];
$response = file_get_contents(
    "https://graph.facebook.com/oauth/access_token?" .
    "client_id=" . $client_id .
    "&redirect_uri=" . $redirect_url .
    "&client_secret=" . $client_secret .
    "&code=" . $code
);
parse_str($response, $params);
$graph_url = "https://graph.facebook.com/me?access_token=" . $params['access_token'];
$user_data = json_decode(file_get_contents($graph_url));
$user = $user_data->id; //get active fb user id
$facebook->setAccessToken($params['access_token']);

$params['access_token']access_token 値のPS ...

于 2012-11-06T10:03:00.447 に答える