#!perl use strict; use warnings; use Digest::HMAC_SHA1; use Data::Dump qw /dump/; use URI::Escape; use Net::OAuth; use MIME::Base64; use LWP::UserAgent; # Authorize a user my $consumer_key = "CONSUMERKEY"; my $secret = "SECRET"; my $method = "vimeo.videos.search" ; my $oauth_nonce = int( rand( 2**32 ) ) ; my $timestamp = time ; my $query = "happy" ; my $url = "http://vimeo.com/api/rest/v2/" ; my $str = "method=$method&oauth_consumer_key=$consumer_key&oauth_nonce=$oauth_nonce&oauth_signature_method=HMAC-SHA1&oauth_timestamp=$timestamp&oauth_version=1.0&query=$query"; $str = uri_escape( $str) ; $url = uri_escape( $url) ; my $secret_key = $secret . '&'; my $base_str = "GET" . "&" . $url . "&" . $str ; my $hmac = Digest::HMAC_SHA1->new( $secret_key ) ; $hmac->add($base_str) ; my $oauth_signature = $hmac->b64digest ; $oauth_signature = encode_base64($oauth_signature ); chomp $oauth_signature; $oauth_signature = uri_escape( $oauth_signature ); my $v_search_url = "http://vimeo.com/api/rest/v2? method=$method&oauth_consumer_key=$key&oauth_nonce=$oauth_nonce&oauth_signature_method=HMAC-SHA1&oauth_timestamp=$timestamp&oauth_version=1.0&oauth_signature=$oauth_signature&query=$query" ; my $browser = LWP::UserAgent->new; my $res = $browser->get( $v_search_url ); print $res->content; The response content throws following error:-