Django FB Graph API登录时重定向isn';行不通
我目前正在django服务器上运行facebook应用程序。索引页位于Django FB Graph API登录时重定向isn';行不通,django,facebook,facebook-graph-api,Django,Facebook,Facebook Graph Api,我目前正在django服务器上运行facebook应用程序。索引页位于localhost:8000/b/,其内容为: <!DOCTYPE html> <html lang="en-US"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="http://ajax.googleapis.co
localhost:8000/b/
,其内容为:
<!DOCTYPE html>
<html lang="en-US">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<body ng-app="mainApp" ng-controller="mainCtrl">
<div id='fb-root'></div>
<button id='login-container' class="btn" ng-click="myFacebookLogin()">Login with Facebook</button>
</body>
<script type='text/javascript'>
var app = angular.module('mainApp', [])
app.controller('mainCtrl', function($scope) {
$scope.myFacebookLogin = function () {
FB.getLoginStatus(function(response) {
console.log(response)
if (response.status !== 'connected') {
FB.login(function() {}, {scope: ['user_about_me', 'user_status']})
}
})
}
})
$(document).ready( function() {
$.ajaxSetup({ cache: true })
$.getScript('//connect.facebook.net/en_US/sdk.js', function() {
FB.init({
appId: 'APP-ID',
version: 'v2.3' // or v2.0, v2.1, v2.0
})
})
})
</script>
</html>
使用Facebook登录
var app=angular.module('mainApp',[])
应用程序控制器('mainCtrl',函数($scope){
$scope.myFacebookLogin=函数(){
FB.getLoginStatus(函数(响应){
console.log(响应)
如果(response.status!=“已连接”){
login(函数(){},{scope:['user\u about\u me','user\u status']})
}
})
}
})
$(文档).ready(函数(){
$.ajaxSetup({cache:true})
$.getScript('//connect.facebook.net/en_US/sdk.js',function(){
FB.init({
appId:'APP-ID',
版本:“v2.3”//或v2.0、v2.1、v2.0
})
})
})
在facebook上的应用程序设置中,我已将有效OAuth重定向URI
设置为http://localhost:8000/b/redir
但重定向没有发生。用户登录后仍会显示相同的页面。这可以通过再次单击登录按钮并查看收到的响应来验证。我该如何解决这个问题?我应该手动重定向用户还是在facebook上使用tweak smoething
FWIW,在成功登录后使用
location.href='/b/redir'
执行作业。我只是想知道正确的方法是什么 在应用程序设置中指定重定向\u uri
,并不意味着用户登录时会在您的页面上发生任何自动重定向。(如果您实际使用重定向版本,则仅用于指定用户可以从FB登录对话框重定向到的有效URL。但在使用JS SDK登录时,这并不直接适用。)。如果您希望发生重定向,那么您必须自己执行,在FB.getLoginStatus
或FB.login
@CBroe-Oh!的回调函数中!很高兴知道我做对了。只是想确保将来不会发生什么事。我将把这个问题留待讨论,以防将来有人会有同样的疑问!