处理开放云数据存储请求

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

在向开放云数据存储API发送请求以及处理响应时,有若干需要考虑的因素。

HTTP头部

与所有开放云端点一样,使用API密钥认证的数据存储请求必须包含x-api-key头部。更多信息,请参见 管理API密钥

  • 不正确或缺失的API密钥会导致401错误。
  • 有效但缺乏正确权限的API密钥会导致403错误。

如果请求包含主体,例如创建或更新请求,则需包含Content-Type: application/jsonContent-Length头部。大多数客户端会自动包含这些头部。

分页

数据存储通常包含许多条目,这意味着你的代码,特别是在调用列出数据存储条目时,必须处理最大结果数和页面数。要了解更多信息,请参见分页

过滤器

如果你在数据存储条目的名称中使用前缀,可能想要过滤你的GET调用,如下所示:


def list_entries(universe, data_store, filter):
list_path = f'universes/{universe}/data-stores/{data_store}/entries'
url = base_url + list_path
return requests.get(url, params={'filter': f'id.startsWith("global/{filter}")'}, headers={apiHeaderKey: apiKey})

过滤器语法是极其有限的。有关可用过滤器的信息,请参见标准有序数据存储的参考文档。

允许缺失标志

标准和有序数据存储的PATCH(更新)方法具有allow_missing参数。如果设置为true,该参数允许你创建不存在的条目,而不是抛出错误。除非你有充分的理由,否则请将此参数保持在默认值false;更新一个从未创建的条目通常表示编程逻辑中的错误。

范围

许多请求要求你指定一个范围,即使是其默认值global。这些范围与权限范围不同,并允许你在数据存储中细分和组织条目。

然而,我们强烈建议使用前缀,而不是创建非默认范围。要了解更多信息,请参见列出和前缀

Content-MD5

开放云v1 API支持在某些请求中使用可选的base64编码MD5校验和,这可以检测数据完整性问题。许多语言都有内置函数来计算content-md5头部的值。以下示例使用Python:


$ echo "750" | python -c "import base64, hashlib; print(str(base64.b64encode(hashlib.md5(bytes(input(), encoding='utf8')).digest()), encoding='utf8'))"
sTf90fedVsft8zZf6nUg8g==

如果你遇到生成有效的content-md5值的问题,可能需要在计算校验和之前将请求主体编码为UTF-8。

©2026 Roblox Corporation、Roblox、Roblox 标志及 Powering Imagination 是我们在美国及其他国家或地区的注册与未注册商标。