Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – 用户授权后Facebook iframe应用程序被重定向到画布外大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在用户授权应用程序后,我的Facebook应用程序被重定向到画布URL(http:// my-domain / app).步骤顺序如下所述:

1)新用户在画布中打开应用程序,并通过Javascript重定向重定向到oauth权限对话框

2)一旦用户授权了应用程序,就会调用应用程序的redirect_uri并获取我在会话中保存的访问令牌

3)我还获取授权用户的用户ID并将其保存到会话中

4)当我将其重定向到画布URL时,它会移出facebook画布

5)如果我尝试将其重定向到画布页面(http://apps.facebook.com/app_Name),它会陷入无限循环,因为会话值被清除并且过程重复 – 我不知道为什么.

这是一个rails 3应用程序,我正在使用拉宝石.代码如下所示:

def index
    if (session[:access_token].blank?)
    session[:oauth] = Koala::Facebook::OAuth.new(APP_ID,APP_SECRET,oauth_redirect_url)
    end
    @app_id = APP_ID
  end

  def redirect
    session[:access_token] = session[:oauth].get_access_token(params[:code]) if params[:code]
    if session[:access_token].blank?
      flash[:error] = "You didn't authorize the application. Please authorize the application to throw a firecracker on your friend's wall!"
      redirect_to :action => "authorize_app" and return
    else
      session[:fb_user_id] = Koala::Facebook::API.new(session[:access_token]).get_object("me")["id"]
    end
    redirect_to :action => "index"
  end

我浪费了将近一天的时间来试图修复它,并寻找解决方案,但现在还没有.

解决方法

步骤1,步骤2,步骤3都可以

第4步:当用户授权您的应用时,它将被重定向到yourapp.com(canvas url)
在canvas url,你会做:

<script>
window.top.LOCATIOn='https://apps.facebook.com/yourapp' //(canvas pagE)
</script>

第5步:当您的画布页面被调用时,您将获得signed_request然后使用您的fb api,您将解析它.

大佬总结

以上是大佬教程为你收集整理的ruby-on-rails – 用户授权后Facebook iframe应用程序被重定向到画布外全部内容,希望文章能够帮你解决ruby-on-rails – 用户授权后Facebook iframe应用程序被重定向到画布外所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。