Unity Facebook创建对象请求返回403

时间:2015-11-17 22:41:46

标签: c# android facebook facebook-graph-api unity3d

我正在使用Unity中的应用程序,我们正在使用Facebook上的项目分发社交功能。我们在Unity 4.x期间使用Facebook的Unity SDK v6并使用api v2.3完全(并成功)集成。 iOS已迫使我们的手,我们现在正在升级到现代:Unity 5,Facebook Unity 7和API 2.5。大多数过渡已经完成,但特定的Facebook功能仍然在Android上被打破:创建对象调用发送给可邀请的朋友。一切都适用于iOS和编辑器。这是打破的电话:

var formDict = new Dictionary<string, string>()
{
    {"title", "AskForLife"},
    {"type", "woogy_gemjunction:life"},
    {"app_id", FB.AppId.ToString()}
};
var formData = new Dictionary<string, string>() { { "object", Facebook.MiniJSON.Json.Serialize(formDict) } };
FB.API("/me/objects/woogy_gemjunction:life", HttpMethod.POST, CreateFBLifeCallback, formData);

回调非常简单。无论何时运行上述代码,我们都会收到“对象创建调用期间出错!403:禁止”。

public void CreateFBLifeCallback(IGraphResult result)
{
    if (!string.IsNullOrEmpty(result.Error))
    {
        Debug.Log("Error during object create call! " + result.Error);
    }
    else if (FB.IsLoggedIn)
    {
        <<this code is never reached>>
    }
}

这在其他平台上运行正常,这似乎表明请求格式不正确,我们可以成功登录并查看并回复Android中收到的消息,因此我认为这不是访问令牌问题。 “Life”图形对象非常简单,继承自Object并且不添加额外的属性:og:type和og:title是唯一必需的字段,但这些字段都在请求中提供。暗示还是怀疑?感谢。

1 个答案:

答案 0 :(得分:0)

它从未完全清楚,但问题似乎出现在我们的测试帐户和设备中。我手动登录到可能没有为应用授予适当权限的Facebook测试帐户。此代码在任何正常条件下都能正常运行。