我正在尝试使用omnicontacts gem on github导入雅虎联系人。但是文档只显示了如何在Ruby on Rails中使用。我想使用Sinatra或只是一个ruby脚本。
以下是宝石和文档:omnicontacts gem on github。 我过去几个小时一直在网上研究任何资源,但我没有得到任何资源。如果有人可以提供帮助,我真的很感激。
答案 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 here和here的有效代码。
雅虎在这里有几个Ruby示例:https://developer.yahoo.com/ruby/
您也可以考虑使用像CloudSponge.com这样的导入服务,它为多个联系人提供Ruby API(如Yahoo,Gmail,Linkedin,Outlook / Hotmail,AOL,Facebook等)。
免责声明:我为CloudSponge工作。