2016-12-29 6 views
4

APIでの使用やNodeJS SDKを使用せずに独自のActionを開発することは可能ですか?Googleのアクションのための他のSDKまたはREST API?

+0

私は答えを追加しましたが、ここでもコメントします.JVMの最も完全なオプションである非公式のJava/Kotlin SDKがあります。 Docs/readmeはすぐに更新され、使用できる状態になります。 https://github.com/TicketmasterMobileStudio/actions-on-google-kotlin – Patrick

答えて

3

ことが既に可能である:私はVert.xとJavaで会話行動の非常に小さな例を建て:https://github.com/Ithildir/actions-on-google-vertx-sampleここ

HTTPプロトコルに関する詳細な情報を見つけることができます:https://developers.google.com/actions/reference/conversation

+0

Googleがapi.aiへの積極的な開発を進めていることに気をつけてください。任意の言語を使用して、api.aiなしでjsonを受信/生成することはできますが、持続することはできません。 Googleはすでにノードsdkを無効にしてapi.aiの使用を強制しています。 –

+0

ありがとうAndreas、私はそれを見てみましょう。ベラ、多くの開発者がグラフィカルインターフェイスを好きではないので、Google/api.aiが単純なインターフェイスを提供しない場合、Googleのアクションは失敗します –

2

あなたがアクションを実装することができますJAX-RSを使用してGoogle互換ウェブフックでたとえば、このJavaライブラリは、Googleが文書化したHTTPプロトコル(https://github.com/l0s/google-actions-conversation-api)をモデル化しています。詳細は、ドキュメントを参照してください。あなたはJSONのシリアライザ/デシリアライザは、デシリアライゼーション中に、未知の特性を無視して、シリアル化中にnullまたは空のフィールドを除外するように設定する必要があります

@Path("/webhook") 
@Consumes("application/json") 
@Produces("application/json") 
@POST 
public ConversationResponse handle(final ConversationRequest request, 
     @Context final HttpServletResponse servletResponse) { 
    servletResponse.setHeader("Google-Assistant-API-Version", "v1"); 

    final SpeechResponse speechResponse = new SpeechResponse(); 
    speechResponse.setTextToSpeech("Hello!"); 
    final FinalResponse finalResponse = new FinalResponse(); 
    finalResponse.setSpeechResponse(speechResponse); 
    final ConversationResponse response = new ConversationResponse(); 
    response.setConversationToken(request.getConversationToken()); 
    response.setFinalResponse(finalResponse); 
    return response; 
} 

注:実装例では、このようになります。

ライブラリを必ずしも使用する必要はありませんが、サーブレットを使用してwebhookを実装する方法がわかります。また、この手法(ライブラリの有無にかかわらず)をJAX-RSと必ずしも併用する必要はありません。 Lambdaを使用したAWS API Gatewayなどのサーバーレスソリューションにも同じ手法を適用できます。

+0

私はたくさんのJAX-RSを使用していますREST APIの開発私はGoの実装を探しています。このレポジトリはインスピレーションの源です。 –

+0

Java/Kotlinの公式SDKのポートもあります。公式のAPIとすべての機能が一致しています。 https://github.com/TicketmasterMobileStudio/actions-on-google-kotlinから入手できます – Patrick

0

もう1つのKotlin/Javaオプションがあります。これは、Google SDKの公式のアクションのオープンソースポートです。公式のnode.js SDKは、API.aiとアクションSDK(直接統合)の両方をサポートしています.Kotlin/Javaも同様です。それは開発中ですが、100%に近づいており、より多くのドキュメンテーション/例が来るでしょう。 https://github.com/TicketmasterMobileStudio/actions-on-google-kotlin

関連する問題