メディアエンティティのサービスメソッド
メディアエンティティを介してダイナミックコンテンツを取得するための URL を構築するには以下のサービスを使用できます。
String GetProxyUrl(String targetUrl, [Boolean isAbsoluteUrl] )
ランタイムで、メディアエンティティは設定済みのベース URL と url パラメータを結合して完全なターゲット URL を作成します。次に例を示します。
http://my.thingworx.server:8080/Thingworx/MediaEntities/
MyProxy/Content/...trailing part of real url
|
URL がマッシュアップでの使用に適した形式でエンコードされるように、GetProxyUrl サービスメソッドを使用します。
|
|
シングルサインオン (SSO) 認証の場合、OAuth をサポートする URL を入力します。
|
パラメータ
• targetUrl
配信元サーバー上のコンテンツへの URL。これは ThingWorx サーバーからアクセス可能でなければなりません。
|
配信元サーバー上のコンテンツにクライアントブラウザからアクセス可能な場合、メディアエンティティを使用する必要はありません。代わりに、 イメージウィジェットまたは リンクウィジェットでこの URL を直接使用できます。
|
• isAbsoluteUrl
このパラメータはオプションです。
◦ true
ターゲット URL が配信元サーバーに対する完全な絶対 URL である場合、このパラメータを true に設定します。targetUrl は設定済みベース URL で始まる必要があります。
◦ false
ターゲット URL が設定済みベース URL に対する相対 URL である場合、このパラメータを false に設定します。ベース URL に targetUrl を追加することで実際のターゲット URL が求められます。
このパラメータが指定されていない場合のデフォルト値は false (相対) になります。メディアエンティティの設定済みベース URL は不明な場合があるので、マッシュアップから使用するには相対 URL が便利です。
• twxME_ClientFollowRedirect
このパラメータはデフォルトでは false です。true の場合、指定したリダイレクト URL がフォローされます。
例
これらの例では、エンドユーザーのブラウザからコンテンツにアクセスできないことを前提としています。これらの URL にブラウザからアクセス可能な場合、マッシュアップでこれらの URL を使用します。メディアエンティティを介してコンテンツをプロキシする必要はありません。
• これらの例では、MyProxy と呼ばれる新しいメディアエンティティが使用されています。
• コンテンツが提供される ThingWorx サーバーの URL をコンテンツ URL と呼びます。
• これらの例では、ThingWorx サーバーが thingworx.my 上にあり、実際のコンテンツは content.acme.com にあるものとします。
単一の単純 URL
• ターゲット URL: http://content.acme.com/images/example.jpg
ここへのアクセスを試みます。
• MyProxy.URL: http://content.acme.com/images/example.jpg
• コンテンツ URL: http://thingworx.my/MediaEntities/MyProxy/Content
ThingWorx が実際のコンテンツをプロキシする URL。
POST リクエストを使用したコンテンツ
ダイナミックコンテンツを含むメディアエンティティが POST リクエストを受け入れることが可能になりました。これを使用して、json パラメータを受け入れる API からコンテンツを取得できます。MediaEntity へのリクエスト内のリクエストの本文はターゲット URL に転送され、そのリクエストの結果は ThingWorx を介して返されます。
複数コンテンツ URL
通常は、単一の配信元サーバーが多数の関連 URL からのコンテンツを提供します。各 URL にメディアエンティティを設定する代わりに、単一メディアエンティティを使用して多数の関連配信元 URL をプロキシします。
• ターゲット URL: http://content.acme.com/images/[image1.jpg, image2.jpg, image3.jpg. ...]
• MyProxy.URL: http://content.acme.com/images/
• コンテンツ URL:
◦ http://thingworx.my/MediaEnties/MyProxy/Content/image1.jpg
◦ http://thingworx.my/MediaEnties/MyProxy/Content/image2.jpg
◦ http://thingworx.my/MediaEnties/MyProxy/Content/image3.jpg
◦ http://thingworx.my/MediaEnties/MyProxy/Content/...
この場合、メディアエンティティはベース URL と url パラメータを連結し、これを実際のターゲット URL として使用してここからコンテンツをプロキシします。