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.244 second using v1.01-cache-2.11-cpan-a9ef4e587e4 )