Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.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
Django Facebook登录/Graph API-开始使用localhost和http(非https)_Django_Facebook Graph Api_Localhost - Fatal编程技术网

Django Facebook登录/Graph API-开始使用localhost和http(非https)

Django Facebook登录/Graph API-开始使用localhost和http(非https),django,facebook-graph-api,localhost,Django,Facebook Graph Api,Localhost,在过去的几个小时里,我一直在研究和兜圈子。非常感谢您的帮助。我的设置: 苹果操作系统 Django 2.0.2(我使用python manage.py runserver在本地主机上工作) 我的应用程序URL:http://localhost:8000/ 试图使用Facebook登录/Facebook API管理页面 我只是尝试登录来设置一个访问令牌-遵循似乎是一个简单的登录路径。但是,在控制台上,我收到以下错误: Insecure Login Blocked: You can't get

在过去的几个小时里,我一直在研究和兜圈子。非常感谢您的帮助。我的设置:

  • 苹果操作系统
  • Django 2.0.2(我使用
    python manage.py runserver
    在本地主机上工作)
  • 我的应用程序URL:
    http://localhost:8000/
  • 试图使用Facebook登录/Facebook API管理页面
我只是尝试登录来设置一个访问令牌-遵循似乎是一个简单的登录路径。但是,在控制台上,我收到以下错误:

Insecure Login Blocked: You can't get an access token or log in to this app from an insecure page. Try re-loading the page as https://
这似乎有很好的文件记录,但这些文件似乎很旧。到目前为止,产品“Facebook登录”有一个名为“强制HTTPS”的设置,对于我刚刚创建并想要测试的应用程序,该设置无法更改(是)。所以很明显,如果没有HTTPS域,我是无法做到这一点的,尽管有些帖子不这么说。这让我开始研究如何获得一个安全的
https://localhost
设置,但这似乎很复杂,我希望我错过了一些东西,以便我可以集中精力学习Facebook Graph API

我的代码是空的,只是尝试使用Javascript SDK登录,一旦我完成了,我将使用Python在会话中管理它。欢迎反馈

<body>

    <!-- Facebook SDK: https://developers.facebook.com/docs/javascript/quickstart -->
    <script>
      window.fbAsyncInit = function() {
        FB.init({
          appId            : '**App ID here**',
          autoLogAppEvents : true,
          xfbml            : true,
          version          : 'v3.0',
          cookie           : true /* override setting */
        });

        /* testing login with alert */
            FB.getLoginStatus(function(response) {
              if (response.status === 'connected') {
                alert('logged in');
                console.log('Logged in.');
              }
              else {
                alert('NOT logged in');
                FB.login();
              }
            });
      };

      (function(d, s, id){
         var js, fjs = d.getElementsByTagName(s)[0];
         if (d.getElementById(id)) {return;}
         js = d.createElement(s); js.id = id;
         js.src = "https://connect.facebook.net/en_US/sdk.js";
         fjs.parentNode.insertBefore(js, fjs);
       }(document, 'script', 'facebook-jssdk'));
    </script>

window.fbAsyninit=函数(){
FB.init({
应用程序ID:“**此处的应用程序ID**”,
自动假肢:对,
xfbml:是的,
版本:“v3.0”,
cookie:true/*覆盖设置*/
});
/*使用警报测试登录*/
FB.getLoginStatus(函数(响应){
如果(response.status===“已连接”){
警报(“已登录”);
console.log(“登录”);
}
否则{
警报(“未登录”);
FB.login();
}
});
};
(功能(d、s、id){
var js,fjs=d.getElementsByTagName[0];
if(d.getElementById(id)){return;}
js=d.createElement;js.id=id;
js.src=”https://connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js,fjs);
}(文档“脚本”、“facebook jssdk”);

此外,要在HTTP中获取令牌,我是否应该像Facebook所描述的那样手动执行此操作我正在尝试下一个,但我真的很想在这个论坛上分享任何专业知识!谢谢。

我也面临着同样的问题,经过数小时的研究(即使是本地开发),似乎没有办法绕过SSL设置。因此,我也要设置一个HTTPS服务器

以下是我找到的一些有用的链接:

希望这有帮助:)

非常感谢:)这些链接非常有帮助,尽管我使用的是django,因为我使用的是django——设置起来非常简单,这要感谢jdero的评论。很高兴听到我们都在同一条船上,所以至少这(HTTPS)是人们在不久的将来阅读这篇文章的唯一/正确的方法。