2010-10-15 73 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> 
相關問題