我正在尝试使用 github 上的 omnicontacts gem 导入雅虎联系人。但是文档只展示了如何在Ruby on Rails中使用。我想使用 Sinatra 或简单的红宝石脚本。
以下是 gem 和文档:github 上的 omnicontacts gem。在过去的几个小时里,我一直在网上研究任何资源,但我没有得到任何资源。如果有人能帮忙,我将不胜感激。
该示例显示了用作中间件的 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
您正在使用 Web 服务器,因此您可能希望使用 Web 服务器的授权流:请查看以了解该流程。
简而言之:您需要提供用户同意的链接,从雅虎获取代码,然后请求OAuth2令牌。
你可以在这里和这里找到Sinatra + OmniAuth的工作代码。
雅虎在这里有几个Ruby的例子: https://developer.yahoo.com/ruby/
您也可以考虑使用 CloudSponge.com 等导入器服务,该服务为多个联系人来源(如Yahoo,Gmail,LinkedIn,Outlook/Hotmail,AOL,Facebook等)提供Ruby API。
免责声明:我在CloudSponge工作。