2011-07-22 70 views
3

我一直在尋找答案的日子,我沒有成功,所以我最後發帖問。Facebook應用程序oauth對話框錯誤

我正在開發一個Facebook應用程序在本地(它說我可以在本地開發指南)並且在嘗試授權應用程序時遇到問題。

以下是錯誤味精當我直接到http://www.facebook.com/dialog/oauth?client_id=MY_APP_ID&redirect_uri=https://apps.facebook.com/MY_APP_NAME

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 

Error 
An error occurred with Footmarker. Please try again later. 

API Error Code: 191 
API Error Description: The specified URL is not owned by the application 
Error Message: Invalid redirect_uri: Given URL is not allowed by the Application configuration. 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 

帆布URL &網站網址獲得:http://localhost:8888/app/

我使用的EasyPHP因此端口8888。我試圖改變端口號80(默認),8080(一個用於Facebook指南)並沒有成功。

我不知道是否是EasyPHP導致問題,或者只是我做錯了什麼。

這件事讓我發瘋。非常感謝。謝謝。

回答

0

這裏的問題是您的URL不在Internet上。它只能從您的計算機訪問。你需要一個公共URL。

也許你可以使用dynDNS free上網申請你的應用程序。

或者,讓一個連接到網絡的網絡服務器來託管你的應用程序。

祝你好運!

0

這只是因爲URL錯誤

無論指定哪個網址,都應該是正確的。

我提到的網站的網址爲http://localhost:3000/和域爲localhost

,但在我的瀏覽器我跑http://0.0.0.0:3000/這是實際的問題,所以我跑了服務器爲localhost:3000現在它的工作的罰款。因爲我們提到網站url爲localhost,fb將重定向到相同的地方,如果我們運行0.0.0.0:3000,則會出現錯誤,指出應用程序配置不允許給定URL。

因此becarefull與您在facebook應用程序中指定的網站網址。 你是在本地運行的URL都應該匹配

謝謝

2

在這個網址:http://www.facebook.com/dialog/oauth?client_id=MY_APP_ID&redirect_uri=https://apps.facebook.com/MY_APP_NAME

必須設置redirect_uri=http://localhost:8888/app並授權您的Facebook應用程序的設置本地主機域(在App domains場)。

網站URL & Canvas URL用於檢查redirect_uri是否因安全原因而未設置爲其他URL,但標準指定redirect_uri,因此他們已經讓此參數。

這是我建立的這種錯誤OAuth.io。我們不希望更多像您這樣的開發人員使用OAuth頭疼。使用

這是很容易:

OAuth.popup('facebook', function(err, res) { 
    // here, you can use res.access_token to make your API Call 
    // or... 
    res.get('/me') 
     .done(function(data) { 
     alert('Hello ' + data.name) 
    }) 
}) 

有了這個,你不能與URL錯了:)

+0

不幸的是,你不能在應用程序域字段中使用'localhost': http://flic.kr/p/kHqiny – Vince

相關問題