Bing-Translate
view release on metacpan or search on metacpan
lib/Bing/Translate.pm view on Meta::CPAN
my $agent_name='myagent';
my $ua = LWP::UserAgent->new($agent_name);
my $request = HTTP::Request->new(GET=>$apiuri);
my $authToken = &getToken;
#$request->header(Accept=>'text/html');
$request->header(Authorization=>$authToken);
my $response = $ua->request($request);
#print $response->as_string, "\n";
if ($response->is_success) {
#print $response->decoded_content;
my $content = $response->decoded_content;
if ($content =~ />(.*)<\/string>/) {
return $1;
}
} else {
return "translate fail";
}
}
sub getToken {
#my ($id, $secret) = @_;
lib/Bing/Translate.pm view on Meta::CPAN
my $ua = LWP::UserAgent->new() or die;
$ua->ssl_opts (verify_hostname => 0);
my $url = "https://datamarket.accesscontrol.windows.net/v2/OAuth2-13/";
my $request = POST( $url, [ grant_type => "client_credentials", scope => "http://api.microsofttranslator.com", client_id => "$id", client_secret => "$secret" ] );
# my $content = $ua->request($request)->as_string() or die;
my $response = $ua->request($request);
my $content;
my $authToken;
if ($response->is_success) {
#print $response->decoded_content;
$content = $response->decoded_content;
my $accessToken = &decodeJSON($content);
$authToken = "Bearer" . " " . "$accessToken";
} else {
die $response->status_line;
}
return $authToken;
}
1;
( run in 0.275 second using v1.01-cache-2.11-cpan-26ccb49234f )