Вопрос

Я использую код Canvas приложения Facebook в документации, и он продолжает перенаправлять после того, как я нажимаю «Alling». Не уверен, что не так. Проверьте, является ли это ошибкой или это только я. Это изhttp://developers.facebook.com/docs/appsonfacebook/tutorial/

<?php 

 $app_id = ""; //Added my app id

 $canvas_page = ""; //Added my canvas page

 $auth_url = "http://www.facebook.com/dialog/oauth?client_id=" 
        . $app_id . "&redirect_uri=" . urlencode($canvas_page);

 $signed_request = $_REQUEST["signed_request"];

 list($encoded_sig, $payload) = explode('.', $signed_request, 2); 

 $data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);

 if (empty($data["user_id"])) {
        echo("<script> top.location.href='" . $auth_url . "'</script>");
 } else {
        echo ("Welcome User: " . $data["user_id"]);
 } 
?>
Это было полезно?

Решение

Я рекомендую использовать PHP SDK, это облегчает вам все, и код для входа будет таким:

<?php
include_once('src/facebook.php');
$config = array(
    'appId' => 'xxxxxxxxxxxx',
    'secret' => 'xxxxxxxxxxxxxxxx',
    'fileUpload' => FALSE, // optional
  );
$canvas_page = ""; //Added my canvas page

 $auth_url = "http://www.facebook.com/dialog/oauth?client_id=" 
        . $app_id . "&redirect_uri=" . urlencode($canvas_page);

$uid=$facebook->getuser();
if(empty($uid)){ echo("<script> top.location.href='" . $auth_url . "'</script>");}
else { echo ("Welcome User: " . $uid);}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top