我有一个在Facebook的Canvas上下文中加载的Facebook应用程序。如果我直接点击应用程序URL(http://apps.facebook.com/myapp/),Facebook生成的signed_request不包含访问令牌......
如果我从书签中点击了应用网址,则会成功返回access_token。
我不确定在直接点击应用网址并且网址中没有access_token时如何处理这种情况。我对此有何误解?
如果用户已登录facebook,为什么签名请求中没有访问令牌?
答案 0 :(得分:2)
如果没有access_token,则表示Facebook不认为用户“登录到您的应用”。通常它意味着用户没有登录到Facebook,或者他们没有授权你的应用程序,但它也可能发生在他们只是超时等等。
正确的做法是将用户发送到oauth身份验证页面(对话框或重定向网址),如here所述
然后facebook肯定会使用access_token重定向回你。如果用户登录到Facebook并且之前已经授权您的应用程序,则只需快速重定向而无需他们执行任何操作。