查询网络以获取存储在账本上的信息,例如账号和交易。
根据请求签名中派生的发送者身份,对某些敏感字段(例如账号余额)的访问可能会受到限制。如果发送者缺少权限,则敏感字段将从响应中隐去,并在
redactedFields 字段中报告。
HTTP 请求
:
POST https://universalledger.googleapis.com/v1/{endpoint=projects/*/locations/*/endpoints/*}:queryData 网址使用 gRPC 转码 语法。
路径参数
| 参数 | |
|---|---|
endpoint |
必需。用于处理请求的端点。格式: |
请求正文
请求正文中包含结构如下的数据:
| JSON 表示法 |
|---|
{ "serializedSignedQueryRequest": string } |
| 字段 | |
|---|---|
serializedSignedQueryRequest |
必需。用于查询 Universal Ledger 网络的 protobuf 序列化 使用 base64 编码的字符串。 |
响应正文
针对 endpoints.queryData 的响应消息。
如果成功,响应正文将包含结构如下的数据:
| JSON 表示法 |
|---|
{ "redactedFields": [ { object ( |
| 字段 | |
|---|---|
redactedFields[] |
指示哪些字段因权限限制而从响应中隐去。 |
联合字段 kind。特定于查询的结果。kind 只能是下列其中一项: |
|
account |
账号信息(如果查询的是账号)。 |
transactionState |
交易的状态(如果查询的是交易)。 |
授权范围
需要以下 OAuth 范围:
https://www.googleapis.com/auth/cloud-platform
如需了解详情,请参阅 Authentication Overview。
TransactionState
交易的状态。
| JSON 表示法 |
|---|
{
"transactionAttempts": [
{
object ( |
| 字段 | |
|---|---|
transactionAttempts[] |
每个条目对应于向处理请求的验证器提交交易的已知提交。 |
RedactedField
有关响应中隐去字段的信息。
| JSON 表示法 |
|---|
{
"redactedPath": string,
"reason": string,
"reasonCode": enum ( |
| 字段 | |
|---|---|
redactedPath |
仅限输出。从载荷中隐去的完全限定字段路径。 这是完全限定字段名称的逗号分隔列表。示例: |
reason |
仅限输出。对字段隐去原因的人类可读说明。 |
reasonCode |
仅限输出。对字段隐去原因的机器可读代码。 |
代码
gRPC API 的规范错误代码。
有时可能有多个错误代码都适用。服务应返回适用且最具体的错误代码。例如,如果 OUT_OF_RANGE 和 FAILED_PRECONDITION 两个代码都适用,则前者优先于后者。同样,NOT_FOUND 或 ALREADY_EXISTS 优先于 FAILED_PRECONDITION。
| 枚举 | |
|---|---|
OK |
不是错误信息;成功时返回此项。 HTTP 映射:200 OK |
CANCELLED |
操作已取消(通常是被调用者取消)。 HTTP 映射:499 Client Closed Request |
UNKNOWN |
未知错误。例如,当从另一个地址空间接收到的 HTTP 映射:500 内部服务器错误 |
INVALID_ARGUMENT |
客户端指定的参数无效。请注意,这与 HTTP 映射:400 Bad Request |
DEADLINE_EXCEEDED |
在操作完成之前截止期限已过。对于更改系统状态的操作,即使操作已成功完成,也可能会返回此错误。例如,服务器的成功响应可能会延迟足够长的时间以使截止期限过期。 HTTP 映射:504 Gateway Timeout |
NOT_FOUND |
找不到所请求的部分实体(例如,文件或目录)。 服务器开发者注意:如果要拒绝整个一类用户的请求(例如,功能逐步发布的用户或未正式加入许可名单的用户),则可以使用 HTTP 映射:404 Not Found |
ALREADY_EXISTS |
客户端试图创建的实体(如文件或目录)已经存在。 HTTP 映射:409 Conflict |
PERMISSION_DENIED |
调用者无权执行指定的操作。如果遭拒的原因是由于部分资源已用尽,则不得使用 HTTP 映射:403 Forbidden |
UNAUTHENTICATED |
请求没有相应操作的有效身份验证凭证。 HTTP 映射:401 Unauthorized |
RESOURCE_EXHAUSTED |
部分资源已用尽,可能是每用户配额不足,也可能是整个文件系统的存储空间已用完。 HTTP 映射:429 Too Many Requests |
FAILED_PRECONDITION |
操作被拒绝,因为系统未处于执行该操作所需的状态。例如,要删除的目录非空、将 rmdir 操作应用于非目录等等。 服务实施者可根据以下准则来确定是选择 HTTP 映射:400 Bad Request |
ABORTED |
操作已中止,通常是由于序列程序检查失败或事务中止等并发问题。 请参阅上述准则以确定是选择 HTTP 映射:409 Conflict |
OUT_OF_RANGE |
尝试执行的操作已超出有效范围。例如,查找或读取操作已超出文件末尾。 与
HTTP 映射:400 Bad Request |
UNIMPLEMENTED |
操作在此服务中未实现或不受支持/未启用。 HTTP 映射:501 Not Implemented |
INTERNAL |
内部错误。这意味着底层系统所期望的一些不变量已损坏。此错误代码保留用于严重错误。 HTTP 映射:500 内部服务器错误 |
UNAVAILABLE |
该服务目前不可用。这很可能是一种暂时情况,可以通过退避重试来纠正。 请注意,重试执行非幂等操作并非总是安全的。 请参阅上述准则以确定是选择 HTTP 映射:503 Service Unavailable |
DATA_LOSS |
数据丢失或损坏且不可恢复。 HTTP 映射:500 内部服务器错误 |