NAME
WWW::ORCID::API::v2_0 - A client for the ORCID 2.0 member API
CREATING A NEW INSTANCE
The new method returns a new 2.0 member API client.
Arguments to new:
client_id
Your ORCID client id (required).
client_secret
Your ORCID client secret (required).
sandbox
The client will talk to the ORCID sandbox API if set to 1.
transport
Specify the HTTP client to use. Possible values are LWP or HTTP::Tiny. Default is LWP.
METHODS
client_id
Returns the ORCID client id used by the client.
client_secret
Returns the ORCID client secret used by the client.
sandbox
Returns 1 if the client is using the sandbox API, 0 otherwise.
transport
Returns what HTTP transport the client is using.
api_url
Returns the base API url used by the client.
oauth_url
Returns the base OAuth url used by the client.
access_token
Request a new access token.
my $token = $client->access_token(
grant_type => 'client_credentials',
scope => '/read-public',
);
authorize_url
Helper that returns an authorization url for 3-legged OAuth requests.
# in your web application
redirect($client->authorize_url(
show_login => 'true',
scope => '/person/update',
response_type => 'code',
redirect_uri => 'http://your.callback/url',
));
See the /authorize and /authorized routes in the included playground application for an example.
record_url
Helper that returns an orcid record url.
$client->record_url('0000-0003-4791-9455')
# returns
# http://orcid.org/0000-0003-4791-9455
# or
# http://sandbox.orcid.org/0000-0003-4791-9455
read_public_token
Return an access token with scope /read-public.
read_limited_token
Return an access token with scope /read-limited.
client
Get details about the current client.
search
my $hits = $client->search(q => "johnson");
activities
my $rec = $client->activities(token => $token, orcid => $orcid);
Equivalent to:
$client->get('activities', %opts)
address
my $recs = $client->address(token => $token, orcid => $orcid);
my $rec = $client->address(token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->get('address', %opts)
add_address
$client->add_address($data, token => $token, orcid => $orcid);
Equivalent to:
$client->add('address', $data, %opts)
update_address
$client->update_address($data, token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->update('address', $data, %opts)
delete_address
my $ok = $client->delete_address(token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->delete('address', %opts)
biography
my $rec = $client->biography(token => $token, orcid => $orcid);
Equivalent to:
$client->get('biography', %opts)
education
my $rec = $client->education(token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->get('education', %opts)
add_education
$client->add_education($data, token => $token, orcid => $orcid);
Equivalent to:
$client->add('education', $data, %opts)
update_education
$client->update_education($data, token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->update('education', $data, %opts)
delete_education
my $ok = $client->delete_education(token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->delete('education', %opts)
education_summary
my $rec = $client->education_summary(token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->get('education/summary', %opts)
educations
my $rec = $client->educations(token => $token, orcid => $orcid);
Equivalent to:
$client->get('educations', %opts)
email
my $rec = $client->email(token => $token, orcid => $orcid);
Equivalent to:
$client->get('email', %opts)
employment
my $rec = $client->employment(token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->get('employment', %opts)
add_employment
$client->add_employment($data, token => $token, orcid => $orcid);
Equivalent to:
$client->add('employment', $data, %opts)
update_employment
$client->update_employment($data, token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->update('employment', $data, %opts)
delete_employment
my $ok = $client->delete_employment(token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->delete('employment', %opts)
employment_summary
my $rec = $client->employment_summary(token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->get('employment/summary', %opts)
employments
my $rec = $client->employments(token => $token, orcid => $orcid);
Equivalent to:
$client->get('employments', %opts)
external_identifiers
my $recs = $client->external_identifiers(token => $token, orcid => $orcid);
my $rec = $client->external_identifiers(token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->get('external-identifiers', %opts)
add_external_identifiers
$client->add_external_identifiers($data, token => $token, orcid => $orcid);
Equivalent to:
$client->add('external-identifiers', $data, %opts)
update_external_identifiers
$client->update_external_identifiers($data, token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->update('external-identifiers', $data, %opts)
delete_external_identifiers
my $ok = $client->delete_external_identifiers(token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->delete('external-identifiers', %opts)
funding
my $rec = $client->funding(token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->get('funding', %opts)
add_funding
$client->add_funding($data, token => $token, orcid => $orcid);
Equivalent to:
$client->add('funding', $data, %opts)
update_funding
$client->update_funding($data, token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->update('funding', $data, %opts)
delete_funding
my $ok = $client->delete_funding(token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->delete('funding', %opts)
funding_summary
my $rec = $client->funding_summary(token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->get('funding/summary', %opts)
fundings
my $rec = $client->fundings(token => $token, orcid => $orcid);
Equivalent to:
$client->get('fundings', %opts)
group_id_record
my $recs = $client->group_id_record(token => $token);
my $rec = $client->group_id_record(token => $token, put_code => '123');
Equivalent to:
$client->get('group-id-record', %opts)
add_group_id_record
$client->add_group_id_record($data, token => $token);
Equivalent to:
$client->add('group-id-record', $data, %opts)
update_group_id_record
$client->update_group_id_record($data, token => $token, put_code => '123');
Equivalent to:
$client->update('group-id-record', $data, %opts)
delete_group_id_record
my $ok = $client->delete_group_id_record(token => $token, put_code => '123');
Equivalent to:
$client->delete('group-id-record', %opts)
keywords
my $recs = $client->keywords(token => $token, orcid => $orcid);
my $rec = $client->keywords(token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->get('keywords', %opts)
add_keywords
$client->add_keywords($data, token => $token, orcid => $orcid);
Equivalent to:
$client->add('keywords', $data, %opts)
update_keywords
$client->update_keywords($data, token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->update('keywords', $data, %opts)
delete_keywords
my $ok = $client->delete_keywords(token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->delete('keywords', %opts)
other_names
my $recs = $client->other_names(token => $token, orcid => $orcid);
my $rec = $client->other_names(token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->get('other-names', %opts)
add_other_names
$client->add_other_names($data, token => $token, orcid => $orcid);
Equivalent to:
$client->add('other-names', $data, %opts)
update_other_names
$client->update_other_names($data, token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->update('other-names', $data, %opts)
delete_other_names
my $ok = $client->delete_other_names(token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->delete('other-names', %opts)
peer_review
my $rec = $client->peer_review(token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->get('peer-review', %opts)
add_peer_review
$client->add_peer_review($data, token => $token, orcid => $orcid);
Equivalent to:
$client->add('peer-review', $data, %opts)
update_peer_review
$client->update_peer_review($data, token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->update('peer-review', $data, %opts)
delete_peer_review
my $ok = $client->delete_peer_review(token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->delete('peer-review', %opts)
peer_review_summary
my $rec = $client->peer_review_summary(token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->get('peer-review/summary', %opts)
peer_reviews
my $rec = $client->peer_reviews(token => $token, orcid => $orcid);
Equivalent to:
$client->get('peer-reviews', %opts)
person
my $rec = $client->person(token => $token, orcid => $orcid);
Equivalent to:
$client->get('person', %opts)
personal_details
my $rec = $client->personal_details(token => $token, orcid => $orcid);
Equivalent to:
$client->get('personal-details', %opts)
researcher_urls
my $recs = $client->researcher_urls(token => $token, orcid => $orcid);
my $rec = $client->researcher_urls(token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->get('researcher-urls', %opts)
add_researcher_urls
$client->add_researcher_urls($data, token => $token, orcid => $orcid);
Equivalent to:
$client->add('researcher-urls', $data, %opts)
update_researcher_urls
$client->update_researcher_urls($data, token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->update('researcher-urls', $data, %opts)
delete_researcher_urls
my $ok = $client->delete_researcher_urls(token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->delete('researcher-urls', %opts)
work
my $rec = $client->work(token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->get('work', %opts)
add_work
$client->add_work($data, token => $token, orcid => $orcid);
Equivalent to:
$client->add('work', $data, %opts)
update_work
$client->update_work($data, token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->update('work', $data, %opts)
delete_work
my $ok = $client->delete_work(token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->delete('work', %opts)
work_summary
my $rec = $client->work_summary(token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->get('work/summary', %opts)
works
my $recs = $client->works(token => $token, orcid => $orcid);
my $recs = $client->works(token => $token, orcid => $orcid, put_code => ['123', '456']);
Equivalent to:
$client->get('works', %opts)
last_error
Returns the last error returned by the ORCID API, if any.
log
Returns the Log::Any logger.