我正在尝试使用 Parse Unity 插件,但在通过 WebGL 构建与 Parse 之间获取信息时遇到了很多问题。我合并了此处提到的 REST-API 修复程序,这使得 Parse 将真正听到我的请求并通常做出响应。它并不能阻止 Parse 在看起来应该工作的事情上失败。
我完全按照 Parse Unity 指南进行了设置。我一直在尝试做的所有事情都可以在编辑器中完美运行。只有在我实际构建 WebGL 时才会出现这些问题。
以下是问题:
- (不是问题) LogInAsync 似乎工作得很好,这让我很困惑。
- (我修复的一个问题)SignUpAsync 将收到 POST 400 Bad Request 错误。我可以通过在 Cloud Code 中注册用户,然后在客户端从 Cloud Code 获得响应时登录用户来解决此问题。
- (我修复的一个问题)更改用户的电子邮件(使用 Parse Unity 的 SaveAsync)会收到 POST 400 Bad Request 错误。我可以通过向 CloudCode 发送请求并使用一些代码来设置新电子邮件并保存用户来解决此问题。这现在有效。
- 如果我使用 Parse Unity 的 SaveAsync 更改用户密码,则会收到 POST 400 Bad Request 错误。我已将其更改为类似于 CloudCode 中的电子邮件转换器,但最终在 Unity 编辑器中显示成功(但新密码实际上不起作用)并且它仍然在 WebGL 中给出相同的错误消息。我尝试使用 request.user 和 Parse.User.current() 并且这两个都使它失败(即使在编辑器中)。我在这里有更多关于这个特定问题的信息,但我觉得那个单一问题是这个更大问题的一部分。
- 使用 LogOutAsync 注销始终会返回 POST 400 Bad Request 错误。
- 当我通过 file.SaveAsync() 保存 ParseFile 时,任务永远不会完成(它确实在编辑器中成功完成)。我可以通过查看浏览器中的网络调试工具来确认这篇文章确实通过了。这很奇怪,我没有收到任何消息。它只是……停止。我会尝试使用 CloudCode 解决方案,但我认为我实际上不能以这种方式上传文件。
我觉得所有这些问题可能都是相关的,但我对网络和服务器的了解还不够,无法真正知道为什么会发生这种情况。我确实知道我们的服务器具有所有必需的标头,并且将它们放入其中使我什至可以达到这一点。
我不知道这是否是 Parse Server、WebGL、Parse Unity 插件、我的服务器或我自己的代码的问题。当我阅读本书时,它在 Unity 编辑器中工作的事实表明,我确实做得最多,如果不是全部正确的话。我很惊讶当我构建到 WebGL 时它不起作用。
有没有人有任何我可以尝试的建议?我不可能离得不远,而且我不可能是唯一一个遇到这个问题的人……可以吗?