2012-02-18 2 views
1

Я пытался использовать драгоценный камень LinkedIn (0.3.6) для поиска. Я могу успешно аутентифицировать и искать только с помощью ключевых слов, но я хочу иметь возможность использовать селектор полей, чтобы мои результаты содержали больше, чем просто идентификатор, имя, фамилию.Как использовать полевые селекторы в камне LinkedIn?

я не увенчались успехом, делая то, что в спецификации

fields = [{:people => [:id, :first_name, :last_name, :public_profile_url, :picture_url]}, :num_results] 
     client.search(:first_name => 'Giliardi', :last_name => 'Pires', :fields => fields) 

Кто-нибудь был в состоянии получить эту работу?

+0

Что такое ошибка, что вы получаете? – ScottJShea

+0

Вытаскивая код и запуская rspec локально, он работает, но, как и вы, я не могу вытащить его и заставить его работать. Я еще немного поднимусь. – ScottJShea

ответ

0

Кажется, что gem client.search не соответствует github client.search ... и спецификация основана на github client.search. И, честно говоря, я не могу понять, как заставить его работать с поиском Gem. Они не включают в себя спецификации для поиска в примере Gem, представленной в api_spec.rb (без search_spec) дает 404: client.search(:first_name => "Javan", :fields => ["num_results", "total"])

Мое предложение будет строить камень из github source и использовать селекторы.

Gem:

def search(options={}) 
     path = "/people-search" 
    options = { :keywords => options } if options.is_a?(String) 

    if fields = options.delete(:fields) 
    path +=":(#{fields.map{ |f| f.to_s.gsub("_","-") }.join(',')})" 
    end 

    options = format_options_for_query(options) 

    result_json = get(to_uri(path, options)) 
    Mash.from_json(result_json) 
end 

GitHub:

def search(options={}) 
    path = "/people-search" 

    if options.is_a?(Hash) 
    fields = options.delete(:fields) 
    path += field_selector(fields) if fields 
    puts path 
    end 

    options = { :keywords => options } if options.is_a?(String) 
    options = format_options_for_query(options) 

    result_json = get(to_uri(path, options)) 

    Mash.from_json(result_json) 
end 
Смежные вопросы