订阅内容
订阅对象表示对数据的持续请求,例如“每24小时检索一次新的CallKit调用”或“在进行新备份时从Reincubate Relay源检索最新的iOS消息”。
不同的服务可以以略有不同的方式实现订阅。 iCloud服务采用定期轮询机制,从而在每个设置的时间间隔内检查新数据。 rirelay服务采用推式机制,在可用时立即发布新数据。
属性
名称 | 类型 | 描述 |
---|---|---|
id | 串 | 资源标识符。 |
resource | 字符串,始终subscription | 资源类型标识符。 |
org | 组织编号 | 订阅的关联组织。 |
source | 源ID | |
session | 会话ID | |
poll_payload | 嵌套轮询有效负载 | 订阅将创建的轮询的有效负载。请参阅轮询有效负载 。 |
interval | 可选的时间增量 | 轮询之间的时间间隔(以秒为单位)。 |
date_start | 可选的日期时间 | 开始创建民意调查的日期。 |
date_end | 可选的日期时间 | 停止创建民意调查的日期。 |
state | 串 | 下列之一: pending , active , deleted 。 |
date_created | 约会时间 | 资源创建时。 |
间隔
interval
属性控制API从源中拉入或请求新数据的频率。
在基于拉的iCloud服务上,订阅将每interval
秒创建一个新的轮询。
在“重新孵化中继”服务上,将interval
属性传递给“中继”应用。这样可以配置应用多久从连接的设备中请求新数据,然后希望通过推送机制在API上触发轮询。在与订阅源关联的设备连接到中继应用程序之前,不会创建轮询。
创建POST /subscriptions
名称 | 类型 | 描述 |
---|---|---|
session | 会话ID | 要针对哪个会话创建民意调查。 |
source | 可选,源ID | (可选)定位会话链接源的子源。 |
poll_payload | 嵌套轮询有效负载 | 用于指定轮询的轮询有效负载 |
interval | 可选的时间增量 | 轮询之间的时间间隔(以秒为单位)。 |
date_start | 可选的日期时间 | 开始创建民意调查的日期。 |
date_end | 可选的日期时间 | 停止创建民意调查的日期。 |
使用cURL
curl https://ricloud-api.reincubate.com/subscriptions \ -X POST \ -H 'Authorization: Token <your key_token>' \ -H 'Content-Type: application/json' \ -d '{ "session": "<session ID>", "source": "<source ID>", "poll_payload": { "data_types": ["ios_messages.messages", "whatsapp.messages"] } }'
使用ricloud-py
import ricloud poll_payload = { "data_types": ["ios_messages.messages", "whatsapp.messages"], } subscription = ricloud.Subscription.create( session="<session ID or ricloud.Session instance>", source="<source ID or ricloud.Source instance>", poll_payload=poll_payload, )
检索GET /subscriptions/{subscription ID}
使用cURL
curl https://ricloud-api.reincubate.com/subscriptions/<subscription ID> \ -H 'Authorization: Token <your key_token>'
使用ricloud-py
import ricloud subscription = ricloud.Subscription.retrieve(<subscription ID>)
列出GET /subscriptions
使用cURL
curl https://ricloud-api.reincubate.com/subscriptions \ -H 'Authorization: Token <your key_token>'
使用ricloud-py
import ricloud subscriptions = ricloud.Subscription.list()
更新POST /subscriptions/{subscription ID}
可以更新订阅以更改其创建的轮询以及创建轮询的时间。
同样,在订阅会话期满的情况下,可以用新创建的活动会话替换它。
名称 | 类型 | 描述 |
---|---|---|
session | 会话ID | 要针对哪个会话创建民意调查。必须具有与订阅的原始会话相同的基础源。 |
poll_payload | 嵌套轮询有效负载 | 用于指定轮询的轮询有效负载。 |
interval | 可选的时间增量 | 轮询之间的时间间隔(以秒为单位)。 |
date_start | 可选的日期时间 | 开始创建民意调查的日期。 |
date_end | 可选的日期时间 | 停止创建民意调查的日期。 |
使用cURL
curl https://ricloud-api.reincubate.com/subscriptions/<subscription ID> \ -X POST \ -H 'Authorization: Token <your key_token>' \ -H 'Content-Type: application/json' \ -d '{ "session": "<session ID>", "poll_payload": { "data_types": ["icpl.photos"] } }'
使用ricloud-py
import ricloud poll_payload = { "data_types": ["icpl.photos"], } subscription = ricloud.Subscription.update( session="<session ID or ricloud.Session instance>", poll_payload=poll_payload, )
删除DELETE /subscriptions/{subscription ID}
阻止订阅创建进一步的民意调查。
使用cURL
curl https://ricloud-api.reincubate.com/subscriptions/<subscription ID> \ -X DELETE \ -H 'Authorization: Token <your key_token>'
使用ricloud-py
import ricloud subscription = ricloud.Subscription.delete_with_id(<subscription ID>) # OR subscription = ricloud.Subscription.retrieve(<subscription ID>) subscription.delete()