API query

88 views
Skip to first unread message

ary...@sheffield.ac.uk

unread,
Apr 30, 2019, 12:16:30 PM4/30/19
to ORCID API Users
Hi ORCID API team,

I'm using the ORCID API in my uni project to search for users by first + last name, first or last name, but I get an error when I call last name on its own
also when I add to my db it supplies 100 users, and then caps at 50 when adding

My code: 

orcid_api = ORCID_SEARCH.new(['first_name'], first_name = search)
orcid_api2 = ORCID_SEARCH.new(['last_name'], last_name = search)

to generate the query I.m using

def search_call
    # query_types = [{ value: 'first_name', payload: 'given-names:' + @first_name }, { value: 'last_name', payload: 'family-name:' + @last_name }, { value: 'email', payload: 'email:' + @email }]

    query = ''
    logger = Rails.logger
    logger.info(@search_param.include?('first_name'))

    query = 'given-names:' + @first_name if @search_param.include? 'first_name'
    logger.info(query)
    if @search_param.include? 'last_name'
      query = if query == ''
                'family-name:' + @last_name
              else
                query + '+AND+family-name:' + @last_name
              end
    end
    logger.info(query)

    if @search_param.include? 'email'
      query = if query == ''
                'email:' + @email
              else
                query + '+AND+email:' + @email
              end
    end

    local_result = @api_caller.call('https://pub.orcid.org/v2.1/search/?q=' + query)
    end_res = []
    local_result['result'].each do |res|
      end_res.push(res['orcid-identifier']['path'])
    end

    @result = end_res
  end

Tom Demeranville

unread,
May 7, 2019, 11:34:05 AM5/7/19
to ORCID API Users
Hi,

ORCID search results are paged.  See the "WAIT, WE ONLY GET 100 RESULTS! " section at https://members.orcid.org/api/resources/find-myresearchers for more detail.

Best,

Tom.
Reply all
Reply to author
Forward
0 new messages