会议
更新
会话对象表示对特定源的访问。
会话始终以挂起状态创建,直到API能够验证对目标源服务的访问。
如果目标源的服务撤消访问,则会话将转换为过期状态。
会话不可客户端更新。
属性
名称 | 类型 | 描述 |
---|---|---|
id | 串 | 资源标识符。 |
resource | 字符串,总是session | 资源类型标识符。 |
organisation | 组织编号 | 会话关联的组织。 |
key | 密钥ID | 与此资源关联的密钥。 |
user | 用户身份 | 会话关联的用户。 |
source | 嵌套源 | 会话与之关联的源实例。 |
state | 串 | 其中之一: pending , active , failed , expired 。 |
error | 串 | 引用会话过期原因的代码。 |
date_created | 约会时间 | 资源创建时。 |
date_expired | 约会时间 | 资源过期时。 |
状态
-
pending
- 会话仍在初始化。
-
active
- 会话已准备好用于提交任务。
-
failed
- 会话初始化失败。
-
expired
- 会话已失效。
错误
会话可能有两种类型的错误:初始化错误和到期错误。
会话初始化错误通常是由于用户名或密码错误,需要2FA身份验证或服务拒绝访问源而导致的其他原因。这些错误将具有init_failed
错误类型。
大多数会议最终会到期。可以在特定于服务的文档中找到更多会话生存期详细信息。但是,会话到期有各种触发器:
service
- 第三方服务已使会话无效。这通常是由于第三方服务中的会话超时(即会话只能持续24小时)。但是,它也可能由源的所有者更改其凭据引起,因为这通常会使现有会话无效,或者可能由服务中的安全功能(例如入侵者检测系统)触发。
api
- API会定期使非活动会话无效。
organisation
- 组织可能代表最终用户使会话无效。
admin
- API管理员已使会话无效。
创建POST /sessions
参数
名称 | 类型 | 描述 |
---|---|---|
source | 需要 | 此会话将与之关联。内容应遵循源创建架构 。 |
payload | 需要 | 会话初始化有效负载。所需内容取决于源所属的服务。 |
使用cURL
curl https://ricloud-api.reincubate.com/sessions \ -X POST \ -H 'Authorization: Token <your key_token>' \ -H 'Content-Type: application/json' \ -d '{ "source": { "user": 1, "type": "icloud.account", "identifier": "john.appleseed@reincubate.com" }, "payload": { "password": "1234" } }'
使用ricloud-py
import ricloud source = { 'user': 1, 'type': 'icloud.account', 'identifier': 'john.appleseed@reincubate.com', } payload = { 'password': '1234', } session = ricloud.Session.create(source=source, payload=payload)
检索GET /sessions/{session ID}
使用cURL
curl https://ricloud-api.reincubate.com/sessions/<session ID> \ -H 'Authorization: Token <your key_token>'
使用ricloud-py
import ricloud session = ricloud.Session.retrieve(<session ID>)
名单
GET /sessions
名称 | 类型 | 描述 |
---|---|---|
key | 密钥ID过滤器 | 按密钥ID过滤。 |
user | 用户ID过滤器 | 按用户ID过滤。 |
source | 源ID过滤器 | 按源ID过滤。 |
state | 字符串过滤器 | 按会话状态过滤。 |
date_created | 日期时间过滤器 | 在创建会话时过滤。 |
date_expired | 日期时间过滤器 | 在会话过期时过滤。 |
使用cURL
curl https://ricloud-api.reincubate.com/sessions \ -H 'Authorization: Token <your key_token>'
使用ricloud-py
import ricloud sessions = ricloud.Session.list()
删除DELETE /sessions/{session ID}
此交互会使会话到期,并删除API上与其关联的所有缓存数据。实际的会话资源实例将保留用于记录。
使用cURL
curl https://ricloud-api.reincubate.com/sessions/<session ID> \ -X DELETE \ -H 'Authorization: Token <your key_token>'
使用ricloud-py
import ricloud session = ricloud.Session.delete_with_id(<session ID>) # OR session = ricloud.Session.retrieve(<session ID>) session.delete()