使用omnicontacts gem在ruby脚本中获取yahoo联系人

时间:2014-12-30 15:39:19

标签: ruby sinatra contacts yahoo-api import-contacts

我正在尝试使用omnicontacts gem on github导入雅虎联系人。但是文档只显示了如何在Ruby on Rails中使用。我想使用Sinatra或只是一个ruby脚本。

以下是宝石和文档:omnicontacts gem on github 我过去几个小时一直在网上研究任何资源,但我没有得到任何资源。如果有人可以提供帮助,我真的很感激。

2 个答案:

答案 0 :(得分:2)

该示例显示了gem被用作中间件;所以建议一种方法来使用Sinatra的中间件:

config.ru的内容:

require 'sinatra'
require 'omnicontacts'

use OmniContacts::Builder do
  importer :gmail, "client_id", "client_secret", {:redirect_path => "/oauth2callback", :ssl_ca_file => "/etc/ssl/certs/curl-ca-bundle.crt"}
  importer :yahoo, "consumer_id", "consumer_secret", {:callback_path => '/callback'}
  importer :hotmail, "client_id", "client_secret"
  importer :facebook, "client_id", "client_secret"
end

答案 1 :(得分:1)

您正在使用网络服务器,因此您可能希望使用Authorization Flow for Web Servers:了解一下流程。

简而言之:您需要提供用户同意的链接,从Yahoo获取代码,然后请求OAuth2令牌。

您可以找到Sinatra + OmniAuth herehere的有效代码。

雅虎在这里有几个Ruby示例:https://developer.yahoo.com/ruby/

您也可以考虑使用像CloudSponge.com这样的导入服务,它为多个联系人提供Ruby API(如Yahoo,Gmail,Linkedin,Outlook / Hotmail,AOL,Facebook等)。

免责声明:我为CloudSponge工作。