VRED Web API

はじめに

VRED には Web サーバが統合されており、Python API、Web API、低遅延ビデオ ストリーミング機能が組み込まれています。Web API はリモート プロシージャ コール API (RPC API)であり、Python API v2 と同じベース上に構築され、JavaScript 経由でアクセスできます。同じ関数とパラメータがサポートされているため、Python API v2 のドキュメントを参照してください。

Python API に対する Web API の利点は、使用法と Web アプリケーションへの統合方法が簡単であることです。さらに、Web API は、リアルタイムでの変更をクライアントに通知するイベントリスナー(Python では信号)をサポートしています。

エンドポイント

Web API のエンドポイントは {schema}://{host}:{port}/api/{module}/{procedure} です。

たとえば、TLS を使用してローカル インスタンスに接続する場合、これは URI になります。

http://localhost:8888/api/vrAnnotationService/getAnnotations

JavaScript クライアント API

VRED には、Web サイトやアプリに簡単に統合できる統合 JavaScript クライアント ライブラリが付属しています。

クライアント ライブラリは {schema}://{host}:{port}/api.js から入手できます。

例:

http://localhost:8888/api.js

クライアント ライブラリが VRED Web サーバ以外の入手元からロードされている場合は、ベース URL を変更できます。

api.setBaseUrl(`${schema}://${host}:${port}`);

クライアント ライブラリの使用方法の簡単な例については、以下を参照してください。VRED にはさらに多くのサンプルが付属します。サンプル フォルダを参照してください。

import { api } from 'http://localhost:8888/api.js';

// Connect event listener (signal)
api.vrAnnotationService.annotationsAdded.connect(() => console.log('Annotations added'));

// Add a new annotation
api.vrAnnotationService.createAnnotation('Annotation1')
  .then(() => {
    api.vrAnnotationService.findAnnotation('Annotation1')
      .then(a => a.setText('Lorem ipsum'));
  })
  .catch(() => console.error('Add annotation failed'));

// Get all annotations
api.vrAnnotationService.getAnnotations()
  .then(annotations => annotations.forEach(a => console.log(a)))
  .catch(() => console.error('Get annotations failed'));

OpenAPI の仕様

VRED は Web API 用の OpenAPI の仕様も提供していて、Swagger の UI やその他の便利な API ツールと併用できます。

この仕様は {schema}://{host}:{port}/api.json から入手できます。

例:

http://localhost:8888/api.json