2010-10-15 76 views
1

我想在用户输入http://apps.facebook.com/myfancyapp时直接显示“请求权限”框。该Facebook Authentication文档的URL怎么也得直接样子如何使用Facebook OAuth 2.0身份验证(如Zynga等)使用它?

https://graph.facebook.com/oauth/authorize?client_id=[APPID]&redirect_uri=http://www.myfancyapp.com/&scope=user_photos,user_videos,publish_stream 

粘贴此网址到浏览器中很清楚的工作像它应该。我想要的是通过JavaScript(或其他)从应用程序URL

http://apps.facebook.com/myfancyapp 

将用户重定向到上面的验证框URL。

我觉得像这样的工作:

<script type="text/javascript"> 
    <!-- 
     window.location = "https://graph.facebook.com/oauth/authorize?client_id=[APPID]&redirect_uri=http://www.myfancyapp.com/&scope=user_photos,user_videos,publish_stream" 
    //--> 
    </script> 

这重定向我到一个网页与身体,看起来像在图像/测试这种

Facebook

点击然后重定向到身份验证框。

如何直接重定向到“请求权限”框。我知道它以某种方式起作用,因为其他开发者(例如Zynga)已经这样做了。

+0

这是一个画布应用程序或实现Facebook连接的独立网站吗?什么脚本语言? PHP/JavaScript的? – Claudiu 2010-10-15 12:45:54

+0

这是一个画布应用程序,我使用PHP和JavaScript。当我使用Facebook以外的重定向时,它可以工作。我猜window.location是问题吗? – 2010-10-15 12:48:35

回答

3

我做的事情是一样的提问者,而不是只window.location的,使用top.location。 HREF = “https://开头图表.....”

喜欢:

<script type="text/javascript"> 
top.location.href = "https://graph.facebook.com/oauth/authorize?client_id=[APPID]&scope=email&redirect_uri=http://apps.facebook.com/myfancyapp/"; 
</script> 

提示如果需要登录,然后权限。然后重定向到应用程序。

+0

我得到这个错误,当我试试这个: { “错误”:{ “消息”:“无效的REDIRECT_URI:给定的URL不是由应用程序配置允许的。” “类型”:“OAuthException” } } – ria 2012-01-17 15:37:38

+0

@ria如果在本地运行应用程序时发生这种情况,它仅表示您需要在Facebook上创建一个指向您本地主机的新应用程序。 – rapcal 2012-05-01 23:46:50

1

这样做与PHP是一个辛苦。

在后端

,然后在前端

<script type="text/javascript"> 
    top.location.href = '<?php echo $url; ?>'; 
</script> 
<p> 
Not being redirected? <a href="<?php echo $url; ?>" target="_top">Click Here.</a> 
</p> 
相关问题