2017-07-25 34 views
-2

以前通过Facebook登录工作正常,没有任何问题。使用JavaScript登录Facebook SDK在PHP codeigniter网站上实现。但在2017年7月更新后,我无法通过Facebook登录网站。通过Facebook登录停止工作后,应用程序2017年7月更新

以下是我的code.Kindly援助。

<script type="text/javascript" defer="defer"> 
      window.fbAsyncInit = function() { 
      FB.init({ 
      appId: "<?php echo $global['facebook_app_id']; ?>", // App ID 
      channelUrl: "<?php echo base_url(); ?>channel.html", // Channel File 
      status: true, // check login status 
      cookie: true, // enable cookies to allow the server to access the session 
      picture: "http://www.fbrell.com/f8.jpg", 
      xfbml: true // parse XFBML 
      }); 
      }; 
      // Load the SDK Asynchronously 
      (function (d) { 
      var js, id = "facebook-jssdk", ref = d.getElementsByTagName("script")[0]; 
      if (d.getElementById(id)) { 
      return; 
      } 
      js = d.createElement("script"); 
      js.id = id; 
      js.async = true; 
      js.src = "//connect.facebook.net/en_US/all.js"; 
      ref.parentNode.insertBefore(js, ref); 
      }(document)); 
     </script> 



       function loginMe(path) 
      { 
       var params1 = ''; 
       FB.login(function (response) { 
        if (response.authResponse) { 
         console.log('Welcome! Fetching your information.... '); 
         FB.api('/me', function (response) { 
          var params = "username=" + response.username + "&first_name=" + response.first_name + "&last_name=" + response.last_name + "&email=" + response.email + "&fb_id=" + response.id + "&gender=" + response.gender + "&birthday=" + response.birthday + "&action_type=fb_login"; 
          //var params="email="+response.email; 
          FB.api('/me/friends', function (response) { 
           //         alert(JSON.stringify(response)); 
           var i = 0; 
           $.each(response.data, function (key, val) { 
            i++; 
           }); 
           params1 = "&facebook_friend_count=" + i; 
          }); 
          if (typeof (response.email) === "undefined") { 
           alert('Sorry, there is technical problem to fetch data from facebook, please try again.'); 
           window.parent.location = path; 
          } 
          jQuery.ajax({ 
           type: 'post', 
           url: path + 'login-with-facebook', 
           data: params, 
           success: function (msg) { 
            if (msg != '' && msg != 'fail') { 
             window.location.href = path + "login-with-fb/" + msg; 
            } 
            else 
            { 
             if (msg == 'fail') 
              alert('Sorry, there is technical problem to fetch data from facebook, please try again.'); 
             window.parent.location = path; 
            } 
           } 
          }); 
         }); 

        } else { 
         //console.log('User cancelled login or did not fully authorize.'); 
        } 
       }, {"scope": "email,read_stream"}); 
      }    

输入登录凭据我收到警报后,每次“对不起,是技术问题从Facebook获取数据,请稍后再试。”我无法从Facebook获取用户详细信息。

+0

有没有权限命名'read_stream' – WizKid

+0

现在什么是另类的read_stream? –

+0

Facebook经常弃用其API版本。例如,[版本2.3已于2017年7月8日弃用](https://developers.facebook.com/docs/apps/changelog)。确保保持最新(这可能意味着更新库)。 – Chris

回答

0

Version 2.3 of the Facebook API was deprecated on July 8, 2017。更新您的配置代码以使用更高版本,并确保一切仍然有效。您应该也可以查看upgrade guide中的更改。

这里是the documentation配置示例:

window.fbAsyncInit = function() { 
    FB.init({ 
    appId   : 'your-app-id', 
    autoLogAppEvents : true, 
    xfbml   : true, 
    version   : 'v2.10' // <-- Right here 
    }); 
    FB.AppEvents.logPageView(); 
}; 
+0

根据升级指南尝试进行更改。仍然遇到同样的问题。 –

+0

您是否按照我在答案中显示的那样更改'version'值? – Chris

+0

请编辑你的问题,并在那里添加你的代码。您可以选择它并按下Ctrl + K或单击“{}”按钮进行正确格式化。 – Chris

相关问题