媒體實體服務方法
下列服務可以用來建構 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 來說是相對的,請將此參數設為 false。系統會將 TargetUrl 附加至基礎 URL,以決定實際的目標 URL。
如果未提供此參數,預設值為 false (相對)。相對 URL 便於從混搭使用,因為媒體實體的已配置基礎 URL 可能不明。
• twxME_ClientFollowRedirect
依預設,此參數為 false。若為 true,則會遵循所提供的重新導向 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。