2012-05-28 8 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 могут работать только с одним основным доменом.
Основной домен получен из «URL-адреса сайта» или «Мобильного веб-url», как определено на странице настроек приложения в приложении «Разработчики».

Однако вы можете добавлять поддомены для этого же домена.
Например, ваш «URL-адрес сайта» равен http://app.example.com, вы можете добавить дополнительные поддомены, которые вы хотите использовать с facebook, добавив их в поле «Домены приложений» на странице настроек (основная вкладка).
Вы можете добавить такие поддомены, как: или http://example.com.

При попытке добавить URL, который не получает от этого вы должны получить следующее сообщение об ошибке при попытке сохранить настройки:

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 

Вы можете открыть, что в новом окне/вкладке, или, если это действие пользователя мыши, то даже открыт всплывающее окно.
Но вы не сможете использовать диалоговое окно iframe в sdk.

+0

Могу ли я создать iframe и сделать запрос от мой сервер? (но iframe будет происходить из любого домена/сервера)? это будет работать? – funerr

+0

Можете ли вы объяснить немного больше о своей ситуации и о том, чего вы пытаетесь достичь? Это приложение для холста? Почему вы пытаетесь использовать другие домены? и т. д. –

+0

Это не приложение для холста, я хочу, чтобы мое приложение работало с нескольких «неизвестных» серверов в качестве инструмента совместного использования, которое будет работать с всплывающим окном Facebook. Веб-сайт добавляет скрипт js с моих серверов и должен иметь возможность поделиться сразу. – funerr

Смежные вопросы