我想尝试使用entity字符串的方式使用排行榜服务。在后台创建了成员类型为Entity的排行榜。但是在游戏中提交数据时,返回了错误如下:
Status Code: BadRequest
Content: {"code":1,"error":"The request must be signed by master key."}
尝试使用了masterkey初始化无效。
使用user提交数据反而可以正常提交,在后台看到的记录是一串ID。
请问是不支持使用字符串提交排行榜数据吗?

请粘贴一下这个请求的日志

测试的代码如下
var statistic = new Dictionary {
{ "world_rainy_12358", 30 }
};
LCLeaderboard.UpdateStatistics("aaaaa", statistic);
谢谢回复

[DEBUG] === HTTP Request Start ===
URL: https://w20pbhrr.lc-cn-n1-shared.com/1.1/leaderboard/entities/aaaaa/statistics1
Method: POST
Headers:
User-Agent: LeanCloud-CSharp-SDK/0.9.9
Accept: application/json
X-LC-Id: w20pBhRRHAcYHMWVInjex7nX-gzGzoHsz
X-LC-Sign: 92c1d48d108304aca4f03f9799ce4c94,1632299143609
X-LC-Session: gvc3g06r7m9nzwpjah531whzw
Content-Type: application/json
Content: [{"statisticName":"world_rainy_12358","statisticValue":30.0}]
=== HTTP Request End ===

[DEBUG] === HTTP Response Start ===
URL: https://w20pbhrr.lc-cn-n1-shared.com/1.1/leaderboard/entities/aaaaa/statistics1
Status Code: BadRequest
Content: {"code":1,"error":"The request must be signed by master key."}
=== HTTP Response End ===

更新成绩1 只能更新当前登录用户的,而 entity 不属于当前登录用户,所以返回错误。
可以通过配置 MasterKey 初始化,并调用 LCApplication.UseMasterKey = true; 开启 Master 模式。
如果考虑安全因素,也可以通过云引擎更新成绩。

好的,明白了,十分感谢

注意 master key 会跳过权限验证,所以切勿在客户端使用。entity 排行榜请在云引擎、服务端等受信任的环境用 master key 更新。