Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.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_Facebook_Oauth_Facebook Oauth - Fatal编程技术网

Php Facebook错误:应用程序发生错误。请稍后再试

Php Facebook错误:应用程序发生错误。请稍后再试,php,facebook,oauth,facebook-oauth,Php,Facebook,Oauth,Facebook Oauth,我的代码一直工作到昨天,突然开始抛出错误。不知道是什么改变了一切。它也是基于代码的,我也参考了其他类似标题的帖子,但尝试了他们提到的内容,运气不太好 这是密码 <?php $app_id = "my app id"; $app_secret = "my app secret"; $my_url = "http://apps.facebook.com/myappnamespace"; 您似乎在重定向URL中使用HTTP,但您正在尝试使用HTTPS进行身份验证。将$m

我的代码一直工作到昨天,突然开始抛出错误。不知道是什么改变了一切。它也是基于代码的,我也参考了其他类似标题的帖子,但尝试了他们提到的内容,运气不太好

这是密码

<?php 

   $app_id = "my app id";
   $app_secret = "my app secret";
   $my_url = "http://apps.facebook.com/myappnamespace";


您似乎在重定向URL中使用HTTP,但您正在尝试使用HTTPS进行身份验证。将
$my_URL
中的URL更改为
https://
,然后查看它是否有效。

可能有其他方法来解决此问题,但php方法通常对我不起作用。我改变了使用Javascript sdk的方式,事情变得更好。

这将在facebook画布之外发送,而不是在画布中加载。
   if(empty($code)) {
     $_SESSION['state'] = md5(uniqid(rand(), TRUE)); //CSRF protection
     $dialog_url = "https://www.facebook.com/dialog/oauth?client_id=" 
       . $app_id . "&redirect_uri=" . urlencode($my_url) . "&state="
       . $_SESSION['state'];

     echo("<script> top.location.href='" . $dialog_url . "'</script>");
   }

   if($_REQUEST['state'] == $_SESSION['state']) {
     $token_url = "https://graph.facebook.com/oauth/access_token?"
       . "client_id=" . $app_id . "&redirect_uri=" . urlencode($my_url)
       . "&client_secret=" . $app_secret . "&code=" . $code;

     $response = file_get_contents($token_url);
     $params = null;
     parse_str($response, $params);

     $graph_url = "https://graph.facebook.com/me?access_token=" 
       . $params['access_token'];

     $user = json_decode(file_get_contents($graph_url));
     echo("Hello " . $user->name);
   }
   else {
     echo("The state does not match. You may be a victim of CSRF.");
   }

 ?>