I'当我第一次验证iframe应用程序时,我得到了一个Facebook标志(而不是验证弹出窗口)



我正在使用RoR 3.1和Koala构建一个Facebook Iframe应用程序。当新用户访问我的应用程序时,iframe中会显示Facebook徽标和"转到Facebook"链接。当您单击徽标时,会显示权限弹出窗口。点击允许工作-我的应用程序功能良好之后。我看到了一些关于这个话题的其他帖子,但没有一个能让我找到解决方案。

这似乎与本问题中记录的问题相同,但答案对我不起作用:iframe画布应用程序的Facebook OAuth登录显示一个徽标图像和一个转到Facebook.com的标题,而不是登录

我尝试在我的index.html.erb文件的顶部包含top.location.href,其中包含硬编码的URL:top.location。href="https://www.facebook.com/dialog/permissions.request?appid=xxx,没有运气。

我获取了facebook徽标的链接,并尝试将其粘贴到顶部。定位。href,运气不好。仅供参考,链接如下:https://www.facebook.com/dialog/permissions.request?app_id=XXX&display=page&next=http%3A%2F%2Feowin.similarity.com%3A3000%2Gifty%2Fcallback&response_type=代码&fbconnect=1&perms=user_likes%2user_groups%2friends_likes#

我在脸书上看到了关于它的bug,它被"按设计"关闭了。http://bugs.developers.facebook.net/show_bug.cgi?id=11326

这是一个糟糕的用户体验,我无法想象这是预期的。我使用的其他应用程序都没有这个问题。你点击一个链接进入应用程序,就会出现权限对话框。

添加我的控制器代码以防有帮助:

    SITE_URL="http://mysubdomain.example.com:3000/"
    def index
          @oauth = Koala::Facebook::OAuth.new(APP_ID, APP_SECRET, SITE_URL + 'myapp/callback')
          session[:oauth] = @oauth
          redirect_to @oauth.url_for_oauth_code( :permissions =>   "user_likes,user_groups,friends_likes")
      end

      #method to handle the redirect from facebook back to you
      def callback
        #get the access token from facebook with your code
        session[:access_token] = session[:oauth].get_access_token(params[:code])
        redirect_to '/myapp/menu'
      end
      def menu
          @api = Koala::Facebook::API.new(session[:access_token])
          < app code here >

谢谢你的帮助!Liz

我想我现在已经解决了这个问题。我在沙盒模式下开发我的应用程序。当我在设置->高级中配置我的应用程序,并将其从Facebook上的沙盒模式中取出时,它开始工作了。我还启用了"Enahnsed Auth Dialog",现在显示的是新的、更友好的Auth对话框,而不是讨厌的Facebook徽标。

我希望这能帮助其他可能有这个问题的人。FWIW,我不需要用top.location.href或javascript做任何事情就能让它工作。

最新更新