2012-01-11 2 views
1

У меня есть приложение Facebook, которое загружается в контексте Canvas Facebook. Если я попал прямо в URL-адрес приложения (http://apps.facebook.com/myapp/), подписанный_request, созданный Facebook, не содержит токена доступа ...Почему в холсте Facebook с параметром signed_request нет токена доступа?

Если я ударил URL-адрес приложения из закладок, access_token успешно возвращается.

Я не уверен, как обращаться с этим случаем, когда URL-адрес приложения попадает напрямую, а в URL-адресе нет access_token. Что я не понимаю об этом?

Если пользователь уже зарегистрирован в facebook, почему в подписанном запросе не будет токена доступа?

ответ

2

Если нет access_token, это означает, что Facebook не считает, что пользователь должен войти в ваше приложение. Обычно это означает, что пользователь не зашел в фейсбук, или они не авторизовались в вашем приложении, но это также может произойти, когда они просто были приурочены и таковы.

Правильная вещь, чтобы сделать, это просто отправить пользователя на страницу аутентификации OAuth (диалог или URL переадресации), как описано here

Тогда facebook будет перенаправлять обратно к вам с access_token наверняка. Если пользователь зарегистрировался в facebook и ранее разрешил ваше приложение, это будет просто перенаправление без каких-либо действий, необходимых с их стороны.

+0

спасибо за ваши мысли по этому поводу, это заняло минуту, чтобы щелкнуть! – qodeninja

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