Oko*_*uko 6 facebook ruby-on-rails heroku cloud9-ide omniauth-facebook
几周来我一直在努力解决这个问题,而我无法弄明白.
我正在管理一个发布到Facebook的Ruby On Rails应用程序.开发环境位于Cloud9 IDE中,实时站点位于Heroku上.该应用程序在Developers.Facebook.com上有一个相应的帐户,其中包含完整的应用程序和与之关联的测试应用程序.
我的Heroku设置与完整的Facebook应用程序完美配合.
问题始于Facebook Test App中的Cloud9设置.每当我尝试通过API连接时,都会收到以下错误:
紧接着是这个错误:
我尝试使用以下选项为我的URL,但似乎没有任何工作:
https://{workspace}-{username}.c9.io/
https://{workspace}-{username}.c9.io:80/
https://{workspace}-{username}.c9.io:8080/
https://{workspace}-{username}.c9users.io/
https://{workspace}-{username}.c9users.io:80/
https://{workspace}-{username}.c9users.io:8080/
Run Code Online (Sandbox Code Playgroud)
这是我的FacebookAccount模型.
class FacebookAccount < ActiveRecord::Base
belongs_to :user
has_many :facebook_pages
if Rails.env.production?
FACEBOOK_APP_ID = ENV["FACEBOOK_APP_ID"]
FACEBOOK_SECRET = ENV["FACEBOOK_SECRET"]
else
FACEBOOK_APP_ID = "XXXXXXXXXXXXXXX"
FACEBOOK_SECRET = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
end
def self.from_omniauth(auth)
oauth = Koala::Facebook::OAuth.new(FACEBOOK_APP_ID, FACEBOOK_SECRET)
new_access_info = oauth.exchange_access_token_info auth.credentials.token
new_access_token = new_access_info["access_token"]
new_access_expires_at = DateTime.now + new_access_info["expires"].to_i.seconds
where(provider: auth.provider, uid: auth.uid).first_or_initialize.tap do |facebook_account|
facebook_account.provider = auth.provider
facebook_account.uid = auth.uid
facebook_account.name = auth.info.name
facebook_account.image = auth.info.image
facebook_account.email = auth.info.email
facebook_account.oauth_token = new_access_token
facebook_account.oauth_expires_at = new_access_expires_at
facebook_account.save!
end
end
end
Run Code Online (Sandbox Code Playgroud)
当您在 Facebook 开发者设置页面中设置网站的 url 时,您必须提供两个 url。
\n\n如果其中之一不存在,您将收到这些错误,告诉您回调 url 未列入白名单或网站 url 未列入白名单。
\n\n在“设置”>“基本”下将您的网站添加为平台,然后查找“添加平台”。在那里添加您的网站 URL。
\n\n\n\n看来c9在回调URI中添加了一个端口号。尝试将该端口号添加到 OAuth 有效回调 URI:
\n\nhttp://[工作空间]-[用户名].c9.io:80/auth/facebook/callbac \xe2\x80\x8c\xe2\x80\x8bk
\n| 归档时间: |
|
| 查看次数: |
277 次 |
| 最近记录: |