我想尝试使用entity字符串的方式使用排行榜服务。在后台创建了成员类型为Entity的排行榜。但是在游戏中提交数据时,返回了错误如下:Status Code: BadRequestContent: {"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/statisticsMethod: POSTHeaders:User-Agent: LeanCloud-CSharp-SDK/0.9.9Accept: application/jsonX-LC-Id: w20pBhRRHAcYHMWVInjex7nX-gzGzoHszX-LC-Sign: 92c1d48d108304aca4f03f9799ce4c94,1632299143609X-LC-Session: gvc3g06r7m9nzwpjah531whzwContent-Type: application/jsonContent: [{"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/statisticsStatus Code: BadRequestContent: {"code":1,"error":"The request must be signed by master key."}=== HTTP Response End ===
@cuiyiran
更新成绩 只能更新当前登录用户的,而 entity 不属于当前登录用户,所以返回错误。可以通过配置 MasterKey 初始化,并调用 LCApplication.UseMasterKey = true; 开启 Master 模式。如果考虑安全因素,也可以通过云引擎更新成绩。
好的,明白了,十分感谢
注意 master key 会跳过权限验证,所以切勿在客户端使用。entity 排行榜请在云引擎、服务端等受信任的环境用 master key 更新。
好的,谢谢