ОБНОВЛЕНИЕ ПОСЛЕ ОТВЕТА: код исправлен и работает, ищите правильный код ниже
Я пытаюсь опубликовать скрипт из perl (на моем сервере) в своем движке приложений Google, и я не уверен, как это сделать на стороне движка приложений Google.
Это мой Perl-скрипт для тестирования:
my $audio = `cat audiotest.flac`;
my $url = "http://app.appspot.com/MainPage" #this is not the real url
my $ua = LWP::UserAgent->new;
my $response = $ua->post($url, Content_Type => "audio/x-flac; rate=16000", Content => $audio);
if ($response->is_success)
{
print $response->content;
}
Так вот, как я посылаю двоичный поток flac, но вопрос в том, как движок приложения Google получает его и что-то с ним делает. Это то, что я пытаюсь сделать в Python (но код неверен и / или не имеет смысла)
class MainPage(webapp.RequestHandler):
def post(self):
destinationURL = "http://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&lang=en-US"
result = urlfetch.fetch(url=destinationURL, payload= self.request.body, method=urlfetch.POST, headers={'Content-Type': 'audio/x-flac; rate=16000'})
self.response.out.write(result.content)
Результат должен вернуть мне строковое представление аудио flac, которое я отправил в службу Google Speech to Text (также известную как x-webkit-speech). Любая идея, что я должен положить в полезную нагрузку для urlfetch, и как получить результат обратно? Спасибо!