gpt4 book ai didi

facebook-unity-sdk - 通过 Facebook SDK for Unity 发布用户分数时出现 400 Bad Request

转载 作者:行者123 更新时间:2023-12-04 00:14:05 26 4
gpt4 key购买 nike

我正在使用 Unity3D 4.3.4 编辑器和适用于 Unity 5.1 的 Facebook SDK,它允许在编辑器内进行测试。我能够成功发布我的游戏截图,但我很难尝试发布分数。

我的代码基于这两个示例: Facebook Graph APIFacebook SDK Unity Tutorial.在检查结果对象时的回调方法中,我得到:

400 错误请求

如果我将方法从 POST 更改为 GET,我不会收到错误,但也不会发布分数。但至少我知道正在发送分数和 access_token。

这是 Proxy (Fiddler) 捕获的内容,但我无法捕获 POST,只能捕获 GET。

GET/me/scores?score=89&access_token=CAAIx1MAZCucgBAEh8LvPA5A4JGuUBSAre0WGhQRZC11WHEgFh1KQJNnsbOEjN5ppeqfumfazmS6CIrZCRlJEKNVhU9wtZCJJ66d3sJqBQYyAbSpBnNIrLN70hJ91uJbEXRD1HwITbViziv9ZC1vhLleyKOILrN97DItP1DnGbzP0y0xoKmVA4RN42Shb716EUEY49wZBlsXXXXXX& HTTP/1.1

这是我的代码:

private IEnumerator PostHighScore() 
{
yield return 0;
int highScore;
highScore = (int)LevelGenerator.Instance.distance;
Dictionary<string, string> wwwForm = new Dictionary<string, string>();
wwwForm["score"] = highScore.ToString();
Log("Just about to POST to /me/scores");
FB.API("/me/scores", Facebook.HttpMethod.POST, PostHighScoreCallback, wwwForm);
}

最佳答案

我能够解决问题。很难弄清楚,因为 FBResult 类型的结果对象只公开了 3 个属性:一个字符串 Text 是空的,一个 Texture2D 形式的图像也是空的,一个字符串 Error 只显示“400 Bad Request ”。我无法拦截我的代理 Fiddler 上的响应。有关 FBResult 的更多信息,请参见此处

幸运的是,Mono Developer 允许我查看 FBResult 对象的私有(private)部分并扩展数据,我发现了一个名为 responseHeaderString 的属性,它显示了在 header 上返回的更详细的错误。

错误是:

WWW-Authenticate: OAuth "Facebook Platform""invalid_request""(#3) 方法只允许用于游戏"

从那里我很容易发现我需要转到我在 Facebook 上的应用程序详细信息并将类别更改为游戏。由于我的 Facebook 是西类牙语,当我创建我的应用程序时我选择了娱乐,因为没有列出“Juegos”,你需要滚动并且它不明显。

我想分享此信息,因为即使您可能面临一个完全不同的问题,但知道从 Mono Developer 检查 FBResult 对象将帮助您找出响应 header 中的原因。

关于facebook-unity-sdk - 通过 Facebook SDK for Unity 发布用户分数时出现 400 Bad Request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23357531/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com