$self->{discovery_base_uri} = $discovery_base_uri || 'https://api.overdrive.com/v1';
my $circulation_base_uri = OpenILS::Application::AppUtils->ou_ancestor_setting_value($ou, 'ebook_api.overdrive.circulation_base_uri');
$self->{circulation_base_uri} = $circulation_base_uri || 'https://patron.api.overdrive.com/v1';
+ my $availability_base_uri = OpenILS::Application::AppUtils->ou_ancestor_setting_value($ou, 'ebook_api.overdrive.availability_base_uri');
+ $self->{availability_base_uri} = $availability_base_uri || 'https://api.overdrive.com/v2';
my $account_id = OpenILS::Application::AppUtils->ou_ancestor_setting_value($ou, 'ebook_api.overdrive.account_id');
if ($account_id) {
my $token;
my $circulation_base_uri = $self->{circulation_base_uri};
my $discovery_base_uri = $self->{discovery_base_uri};
+ my $availability_base_uri = $self->{availability_base_uri};
if ($req->{uri} =~ /^$circulation_base_uri/) {
$auth_type = 'Bearer';
$token = $self->{patron_token};
} elsif ($req->{uri} =~ /^$discovery_base_uri/) {
$auth_type = 'Bearer';
$token = $self->{bearer_token};
+ } elsif ($req->{uri} =~ /^$availability_base_uri/) {
+ $auth_type = 'Bearer';
+ $token = $self->{bearer_token};
} else {
$auth_type = 'Basic';
$token = $self->{basic_token};
return;
}
-# GET http://api.overdrive.com/v1/collections/L1BAAEAAA2i/products/76C1B7D0-17F4-4C05-8397-C66C17411584/availability
+# GET https://api.overdrive.com/v2/collections/v1L1BAwAAAA24/products/622708F6-78D7-453A-A7C5-3FE6853F3167/availability
# User-Agent: {Your application}
# Authorization: Bearer {OAuth access token}
# Host: api.overdrive.com
$self->get_library_info() if (!$self->{collection_token});
my $req = {
method => 'GET',
- uri => $self->{discovery_base_uri} . "/collections/" . $self->{collection_token} . "/products/$title_id/availability"
+ uri => $self->{availability_base_uri} . "/collections/" . $self->{collection_token} . "/products/$title_id/availability"
};
if (my $res = $self->handle_http_request($req, $self->{session_id})) {
return $res->{content}->{available};
# request copy availability totals
my $avail_req = {
method => 'GET',
- uri => $self->{discovery_base_uri} . "/collections/$collection_token/products/$title_id/availability"
+ uri => $self->{availability_base_uri} . "/collections/$collection_token/products/$title_id/availability"
};
if (my $avail_res = $self->handle_http_request($avail_req, $self->{session_id})) {
$holdings->{copies_owned} = $avail_res->{content}->{copiesOwned};