NAME
WWW::ORCID::API::v2_0_public - A client for the ORCID 2.0 public API
CREATING A NEW INSTANCE
The new
method returns a new 2.0 public 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
.
client
Get details about the current client.
search
my $hits = $client->search(q => "johnson");
=head2 C<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)
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)
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)
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)
funding
my $rec = $client->funding(token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->get('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)
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)
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)
peer_review
my $rec = $client->peer_review(token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->get('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)
work
my $rec = $client->work(token => $token, orcid => $orcid, put_code => '123');
Equivalent to:
$client->get('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.