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