2012-05-28 72 views
1

我有一個顯示共享彈出窗口的應用程序。 我試圖從不同的服務器上工作時遇到了問題。 我得到以下錯誤:Facebook拒絕訪問我的應用程序

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

API Error Code: 191 API Error Description: The specified URL is not owned by the application
Error Message: redirect_uri is not owned by the application.

我怎樣才能使之能夠從所有的服務器工作?不管他們是我的還是不是? 有什麼建議嗎?

在此先感謝。

注: 我希望它是通過JS SDK。

+0

在這種情況下,我們不能使用js sdk。您將不得不使用服務器端應用程序,如Facebook所述[https://developers.facebook.com/docs/howtos/login/server-side-login/] – Devaroop

回答

2

Facebook應用程序只能使用一個主域名。
主域名來自開發人員應用程序中應用程序設置頁面中定義的「網站網址」或「移動網址」。

但是,您可以爲同一個域添加子域。
例如,假設您的「網站網址」爲http://app.example.com,您可以通過將其添加到設置頁面(基本選項卡)中的「應用程序域」字段來添加更多要與Facebook一起使用的子域。
您可以添加子域名,如:或http://example.com

如果試圖添加不從,你應該得到當試圖保存設置以下錯誤消息派生網址:

Error
DOMAIN_YOU_ADDED must be derived from your Site URL or your Mobile Web URL.


編輯

你有問題如果你想使用FB.ui方法。
fb sdk只會接受來自您自己的域的使用情況,如果您從自己的域中加載iframe,那麼父窗口(這是另一個域)將無法與該iframe通信(相同的源策略) 。

,你應該能夠做的就是使用feed dialog的直接網址:

http://www.facebook.com/dialog/feed? 
    app_id=123050457758183& 
    link=http://developers.facebook.com/docs/reference/dialogs/& 
    picture=http://fbrell.com/f8.jpg& 
    name=Facebook%20Dialogs& 
    caption=Reference%20Documentation& 
    description=Using%20Dialogs%20to%20interact%20with%20users.& 
    redirect_uri=http://www.example.com/response 

您可以在新窗口/標籤打開,或者如果它是一個用戶點擊的動作,然後連開一個彈出窗口。
但是,您將無法使用sdk的iframe對話框。

+0

我可以創建iframe並從請求中提出請求我的服務器? (但iframe將來自任何域/服務器)?那會工作嗎? – funerr

+0

你可以解釋一下你的情況以及你想完成什麼?這是一個畫布應用程序嗎?你爲什麼試圖使用其他域名?等等...... –

+0

這不是一個畫布應用程序,我希望我的應用程序能夠從幾個「未知」服務器上作爲共享工具工作,並與Facebook共享彈出框一起工作。 該網站從我的服務器添加了一個js腳本,並且應該有馬上分享的選項。 – funerr

相關問題