我正在使用 OmniContacts gem 将联系人从 yahoo 和 gmail 导入到我的应用程序。现在雅虎进口商停止工作。
我的控制器上有以下操作:
def contacts_callback
@contacts = request.env['omnicontacts.contacts']
@importer = params[:importer]
if session[:draw_token]
@draw_token = session[:draw_token]
end
end
def import_failed
if session[:draw_token]
draw = Draw.find_by_token(session[:draw_token])
if draw != nil
session[:draw_token] = nil
redirect_to dashboard_draw_url(draw)
else
session[:draw_token] = nil
redirect_to root_path, alert: _('Draw not exists.')
end
else
redirect_to dashboard_show_invitation_email_friendship_url, alert: _('You have canceled the request.')
end
end
路线:
get '/contacts/:importer/callback' => 'dashboard/invitation_email#contacts_callback'
get '/contacts/failure' => 'dashboard/invitation_email#import_failed'
但是知道当我尝试从雅虎导入时我总是进入 import_failed 操作,我不明白为什么。
有谁知道问题是什么。
提前致谢
这是一个老问题,但无论如何我都会回答它,这样你就可以关闭它
首先,您需要使用最新版本的 OmniContacts,在旧版本中,它不使用 yahoo 所需的 https。[来源] https://github.com/Diego81/omnicontacts/issues/81
其次,您应该查看控制台日志,您可能会看到类似于以下内容的错误:
不允许自定义端口或主机未在此注册
消费者密钥。
这可能意味着您正在使用与此类似的回调 URL(典型的 RoR)
http://localhost:3000/contacts/callback
雅虎不允许指定端口。这里有一个讨论和解决方法 https://developer.yahoo.com/forum/OAuth-General-Discussion-YDN-SDKs/Custom-port-is-not-allowed-or/1270167545000-b347dc6e-08c1-3fcc-b3cd-d6ff0fb6d734来自雅虎开发人员。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)