Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Facebook应用程序授权_Php_Javascript_Facebook - Fatal编程技术网

Php Facebook应用程序授权

Php Facebook应用程序授权,php,javascript,facebook,Php,Javascript,Facebook,我创建了一个应用程序,可以找到此应用程序 当有人第一次使用应用程序时,一切都正常工作。它会生成一个对话框,允许用户查看我使用它请求的类型或权限- $url = $facebook->getLoginUrl(array( 'canvas' => 1, 'req_perms' => 'publish_stream, email, offline_access', 'fbconnect' => 0 )); 用户单击“确定”后,他们将被重定向到我的应用所在的URL,而不是重定向

我创建了一个应用程序,可以找到此应用程序

当有人第一次使用应用程序时,一切都正常工作。它会生成一个对话框,允许用户查看我使用它请求的类型或权限-

$url = $facebook->getLoginUrl(array(
'canvas' => 1,
'req_perms' => 'publish_stream, email, offline_access',
'fbconnect' => 0
));
用户单击“确定”后,他们将被重定向到我的应用所在的URL,而不是重定向到Facebook中应用的URL

我拥有的其他代码可用于此应用程序-

include_once("includes/src/facebook.php");
include_once("includes/src/facebook_config.php");
$facebook = new Facebook(array(
'appId'  => FACEBOOK_APP_ID,
'secret' => FACEBOOK_SECRET_KEY,
'cookie' => false,
'domain' => 'syncro-it.co.uk'
));


<div id="fb-root"></div>
        <script>
        window.fbAsyncInit = function() {
        FB.init({
            appId  : '<?=FACEBOOK_APP_ID?>',
            status : true, // check login status
            cookie : true, // enable cookies to allow the server to access the session
            xfbml  : true  // parse XFBML
        });
        FB.Canvas.setSize();
        };

        (function() {
        var e = document.createElement('script');
        e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
        e.async = true;
        document.getElementById('fb-root').appendChild(e);
        }());
        </script>
include_once(“includes/src/facebook.php”);
include_once(“includes/src/facebook_config.php”);
$facebook=新的facebook(数组)(
“appId”=>FACEBOOK\u应用程序\u ID,
'secret'=>FACEBOOK\u secret\u密钥,
“cookie”=>错误,
“域”=>“syncro it.co.uk”
));
window.fbAsyninit=函数(){
FB.init({
appId:“”,
状态:true,//检查登录状态
cookie:true,//启用cookie以允许服务器访问会话
xfbml:true//解析xfbml
});
FB.Canvas.setSize();
};
(功能(){
var e=document.createElement('script');
e、 src=document.location.protocol+'//connect.facebook.net/en_US/all.js';
e、 异步=真;
document.getElementById('fb-root').appendChild(e);
}());

以前有人见过这个吗?如果是这样的话,我是否错过了一些愚蠢的事情?

这只是简单地用应用程序的设置切换回旧的权限对话框

试试以下方法:

<?
  // Remember to copy files from the SDK's src/ directory to a
  // directory in your application on the server, such as php-sdk/
  require_once('facebook.php');

  $config = array(
    'appId' => '2XXXXXXXXXXXX36',
    'secret' => 'XXXXXXXXXXXXXXXX43d18d86f157d',
    'fileUpload' => true,
  );

  $facebook = new Facebook($config);
  $user_id = $facebook->getUser();
if($user_id) {
    try {
        $user_profile = $facebook->api('/me','GET');
                echo $user_profile['birthday'];
                     //----------------------------------
                     //PUSH UR CODE HERE
                     //----------------------------------
    } 
catch(FacebookApiException $e) 
{
        $login_url = $facebook->getLoginUrl( array(
       'scope' => 'user_birthday'
        )); 
echo "<script type='text/javascript'>top.location.href = '$login_url';</script>";
exit;
}
}
else
{
        $login_url = $facebook->getLoginUrl( array(
                       'scope' => 'user_birthday'
                     )); 
    echo "<script type='text/javascript'>top.location.href = '$login_url';                     </script>";
                exit;
        }
    ?>