我正在使用omnicontacts gem,以便用户可以在我的网站上邀请他们的联系人。我已成功为Google设置了它。
我已根据gem的自述文件建议使用contacts_callback方法设置了一个omnicontacts控制器。
和路线:get "/contacts/:importer/callback" => "omnicontacts#contacts_callback"
在omnicontacts.rb的初始化程序中,我有以下内容:
require "omnicontacts"
Rails.application.middleware.use OmniContacts::Builder do
importer :gmail, "hidden-client-key", "hidden-secret-key", {redirect_path: "/contacts/gmail/callback"}
importer :facebook, "hidden-client-key", "hidden-secret-key", {:redirect_path => "/contacts/facebook/callback" }
importer :hotmail, "hidden-client-key", "hidden-secret-key", {redirect_path: "/contacts/hotmail/callback"}
end
根据gem的自述文件,最后两个(facebook和hotmail)不需要redirect_path,但以防我是否使用它进行测试,我仍然得到redirect_uri无效的错误。在我寻找解决方案的过程中,我找到了一个地方:redirect_path代替:callback_path并尝试过,但没有运气。
在Microsoft应用程序(用于hotmail)上,我得到了关于错误的更长描述:
输入参数提供的值' redirect_uri'不是 有效。预期值是 ' https://login.live.com/oauth20_desktop.srf'或匹配的URL 为此客户端应用程序注册的重定向URI。
结果我继续并为此客户端应用程序注册了重定向URI。 URI为http://example.com/contacts/hotmail/callback,与回调路径匹配。
仍然,得到同样的错误。任何线索?