Google App Engineはオーディオバイナリストリームを受信します -- perl フィールド と google-app-engine フィールド 関連 問題

Google app engine receiving audio binary stream












2
vote

問題

日本語

答え後の更新:コードが修正され、正しいコード

のために以下のように見えます。

Perlスクリプト(マイサーバー上)からGoogle App Engineに投稿しようとしている、そしてGoogle Appエンジン側でこれを行う方法がわからない。

これはテストのための私の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 Appエンジンがどのように受信して何かをしているのかということです。これが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)

結果は、Googleのスピーチに送信されたFLAC Audio I Googleのスピーチの文字列表現(x-webkit-speechとも呼ばれます)に戻ることになっています。 URLFetchのペイロードを入れることになっていること、および結果を戻す方法はどうですか?ありがとう!

英語

UPDATE AFTER ANSWER: the code is now fixed and works look below for correct code

Im trying to post from a perl script (on my server) to my google app engine, and im not sure how to go about doing this on the google app engine side.

This is my perl script for testing :

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; } 

So that is how i send the flac binary stream, but the question is how does google app engine receive it and do something with it. This is what im attempting to do in python (but the code is not correct and / or doesnt make sense)

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) 

result is supposed to return to me the string representation of the flac audio i submitted to google's speech to text service (also known as x-webkit-speech). Any idea what i am supposed to put in the payload for the urlfetch, and how to get the result back? Thanks!

</div
     

回答リスト

2
 
vote
vote
ベストアンサー
 

オーディオファイルをフォームの一部としてではなく、 self.request.body

でアクセスできます。

私はなぜあなたがApp Engineにオーディオファイルを送信しているのです。ただし、他のサービスに送信できるように、なぜApp Engineに送信できます。

 

Since you're sending the audio file as the body of the request, not as part of a form, you can access it with self.request.body.

I'm a little confused as to why you're sending an audio file to App Engine just so it can send it to another service, though.

</div
 
 
   
   

関連する質問

1  Javaを使用してSOAPを使用することができるGoogle App Engineは、無料で、またはGAEサポートされているSOAPライブラリであると同等のGoogle Appエンジンがありますか?  ( Is there a google app engine equivalent that lets you use soap with java and is ) 
SOAPを使用することは、Pythonでこのアプリケーションを書き直す必要がありませんので、GAEでサポートされている無料またはSOAP JavaライブラリであるGoogle App Engineに代わるものを探しています。< / P> ...

3  Javaで実行されているGoogle App Engineを使用してGoogleサーバーにバルクデータをアップロードする方法  ( How to upload bulk data to google servers using google app engine running on jav ) 
10MBのアップロード制限と30秒のセッションタイムアウトを迂回するGoogleのサーバーにバルクデータをアップロードする方法を理解することはできません。標準のSQLデータを取得してGoogleのサーバーにプッシュするアプリケーションを設計したい。 私は素朴...

1  (Jersey 1.11)My Dev MachineでJSPエラーのクラスをコンパイルできません(Mac)  ( Jersey 1 11 unable to compile class for jsp error in my dev machine mac ) 
ローカルデーブマシンでのみこのエラーを取得しています(Mac + Eclipse + Google App Engine Plugin: org.apache.jasper.jasperexception:JSPのクラスをコンパイルできません: 生成されたJ...

3  Google App Engine - 自分のソースモジュールのインポート(複数のファイル)  ( Google app engine importing my own source modules multiple files ) 
私はGAEアプリケーションを書いています、そして次の問題にいくらか難しされています。 私は同じフォルダに保存されている複数のPythonファイル(A.pyとB.py)を作成しました。 URLをマッピングすることで、a.pyまたはb.pyでコードを呼び出すことが...

86  Google App EngineモデルのJSONシリアル化  ( Json serialization of google app engine models ) 
成功しないでかなりの間かなり検索しています。私のプロジェクトはDjangoを使用していません、App Engine Models(google.appengine.ext.db.model)をJSONにシリアル化する簡単な方法がありますか、それとも自分のシリア...

3  Java - Google App Engine - Collections.SORT()を使用せずにArrayList <オブジェクト>の並び替え  ( Java google app engine sort arraylistobject without using collections sort ) 
ArrayListをソートする必要があり、Google App EngineのJava Runtime環境はそれをサポートしていないため、collections.sort()を使用できません。どのようにできるのか?ありがとう! ^^ ...

3  Javaを使用してGoogle App Engineのモデルからフィールドを削除する方法  ( How do i remove a field from a model in google app engine with java ) 
> http://code.google.com/appentine/articles/update_schema.html. Delattrを使用してPythonのモデルからプロパティを削除する方法を示しています。 Javaで同じことをする方法はあります...

0  ユーザーをクリックしてダウンロードを生成する方法  ( How to generate a download on user click ) 
これはNoobsに質問があるように見えるかもしれませんが、ユーザーがダウンロードボタンをクリックしたときにダウンロードを開始する必要があるコードが正確にどのコードを知っておくことをお勧めします。このウェブページを持っていると、ユーザーがセットしたフィルタ(すな...

1  Google App Engineの何もないエラー500  ( Error 500 on google app engine out of nothing ) 
Google App Engineでエラー500を得たものはありません。 href="http://oradic.appspot.com/" REL="NOFOLLOW NOREFERRER">> http://oradic.appspot.com/ ...

3  java.sql.sqlexceptionから再試行/回復する方法:同時変更  ( How to retry recover from a java sql sqlexception concurrent modification ) 
GAE上のJDOを使用している、私は以下のような単純なデータベーストランザクションコードブロックを使用しています。 スローされたjava.sql.sqlexceptionから再試行/回復する良い方法は何ですか:同時修正? プライベートファイナルプロバイダPM...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有