我的雅虎联系人导入OmniContacts gem总是失败

时间:2014-04-22 09:21:01

标签: ruby-on-rails ruby yahoo-api

我正在使用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操作,我无法理解为什么。

有没有人知道问题是什么。

提前致谢

1 个答案:

答案 0 :(得分:1)

这是一个老问题,但无论如何我都会回答它,所以你可以关闭它

首先,您需要使用最新版本的OmniContacts,在旧版本中,它不使用https,这是雅虎所要求的。 [source]

其次,你应该查看你的控制台日志,你可能会看到类似这样的错误:

  

不允许使用自定义端口,或者主机未注册   消费者密钥。

这可能意味着您正在使用与此类似的回调网址(典型的RoR)

http://localhost:3000/contacts/callback

雅虎不允许指定端口。这是来自Yahoo Dev。的<{3}}。