Roku 媒体播放器提供带有以下命令的 RESTful API:
- query/apps这个“query/apps”返回了安装在 Roku 盒子上的所有频道的地图,并与它们的应用程序 ID 配对。此命令通过 http GET 访问。
- keydown接受一个描述按下的键的参数。Keydown 相当于按下其值为传递参数的远程键。此命令通过没有正文的 POST 发送。
- keyup接受一个描述要释放的键的参数。Keyup 相当于释放远程键,其值为传递的参数。此命令通过没有正文的 POST 发送。
- keypress接受一个参数来描述被按下的键。Keyup 相当于按下并释放其值为传递参数的远程键。此命令通过没有正文的 POST 发送。
- launch将应用程序 ID 作为参数,并作为 roAssociativeArray 发送到应用程序 ID 的 url 参数列表传递给 RunUserInterface() 或 Main() 入口点。此命令通过没有正文的 POST 发送。
在我得到一个查询后,应用程序列表如下:
<apps>
<app id="5127" version="1.0.28">Roku Spotlight</app>
<app id="11" version="2.2.2002">Roku Channel Store</app>
<app id="28" version="2.0.20">Pandora</app>
<app id="12" version="2.4.6">Netflix</app>
<app id="13" version="3.2.7">Amazon Instant Video</app>
<app id="2285" version="2.1.1">Hulu Plus</app>
</apps>
我想将 Netflix (ID 12) 应用程序启动到特定的电视节目或电影中:
POST /launch/12?foo=bar&someVar=someValue HTTP/1.1
其中 foo 和 someVar 是我将发送给 Netflix 的变量,它们对应于该特定内容。但是,我不知道需要将哪些变量或哪些值发送到高级应用程序。
是否有 Netflix/Amazon/Hulu/etc 接受的参数列表?