我正在使用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是唯一必需的字段,但这些字段都在请求中提供。暗示还是怀疑?感谢。
答案 0 :(得分:0)
它从未完全清楚,但问题似乎出现在我们的测试帐户和设备中。我手动登录到可能没有为应用授予适当权限的Facebook测试帐户。此代码在任何正常条件下都能正常运行。