当我在Facebook iframe应用程序中进行服务器端重定向时,我会通过链接获得这个奇怪的Facebook徽标。当我点击它时,我被重定向到网站我首先设置重定向。这里发生了什么?是否有“点击保护”?
谢谢!
重定向代码:
尝试客户端重定向
args = dict(client_id=FACEBOOK_APP_ID, redirect_uri=base_dir , scope='user_photos,email,offline_access')
return render_to_response('fb/nopermission.html', { 'javascript': "<script>window.top.location=\"" + "https://graph.facebook.com/oauth/authorize?" + urllib.urlencode(args )+ "\"</script>" } )
和服务器重定向:
args = dict(client_id=FACEBOOK_APP_ID, redirect_uri=base_dir , scope='user_photos,email,offline_access')
return HttpResponseRedirect(https://graph.facebook.com/oauth/authorize?" + urllib.urlencode(args))
两种情况都有相同的结果
答案 0 :(得分:0)
Arrgh! Facebook有这么糟糕的文档,我在为它开发时遇到了很多问题。
这是因为您无法直接使用您的应用重定向。使用href链接并将目标属性指定为_top或使用javascript
window.top.location="redirecturl"
解决此错误。
答案 1 :(得分:0)
对于重定向目的,请使用以下代码:
<html><head>
<script type="text/javascript">
window.top.location.href = "<?php echo $loginUrl; ?>";
</script>
<noscript>
<meta http-equiv="refresh" content="0;url=<?php echo $loginUrl; ?>" />
<meta http-equiv="window-target" content="_top" />
</noscript>