Unity Facebook SDK:将截屏发布到墙上不起作用

时间:2014-12-16 09:54:57

标签: android ios facebook unity3d

我正在使用Unity 4.5,最新的facebook sdk 6.0,我现在正在使用android,但它也适用于iOS。 我试图截取屏幕截图并将其上传到我的墙上,因此我使用facebook sdk中的标准示例场景。 当我使用我的私人帐户作为测试帐户时,一切正常,并且它也适用于较旧项目的facebook app ID(至少1岁)。但是使用普通帐户(没有测试人员)和新的Facebook应用程序,它无法正常工作。

我是否必须完整提交以使用"将图像发布到用户墙"功能还是我做错了什么? 我的Facebook应用程序说"这个应用程序是公开的,可供所有用户使用" 。所以我想它应该可行吗?

我用它来登录:

private void CallFBLogin()
{
    FB.Login("email, publish_actions", LoginCallback);
}

 void LoginCallback(FBResult result)
{
    if (result.Error != null)
        lastResponse = "Error Response:\n" + result.Error;
    else if (!FB.IsLoggedIn)
    {
        lastResponse = "Login cancelled by Player";
    }
    else
    {
        lastResponse = "Login was successful!";
    }
}

这是截图方法:

private IEnumerator TakeScreenshot()
{
    yield return new WaitForEndOfFrame();

    var width = Screen.width;
    var height = Screen.height;
    var tex = new Texture2D(width, height, TextureFormat.RGB24, false);
    // Read screen contents into the texture
    tex.ReadPixels(new Rect(0, 0, width, height), 0, 0);
    tex.Apply();
    byte[] screenshot = tex.EncodeToPNG();

    textureTest = tex;

    var wwwForm = new WWWForm();
    wwwForm.AddBinaryData("image", screenshot, "InteractiveConsole.png");
    wwwForm.AddField("message", "herp derp.  I did a thing!  Did I do this right?");

    FB.API("me/photos", Facebook.HttpMethod.POST, Callback, wwwForm);
}

希望有人有解决方案。

谢谢!

1 个答案:

答案 0 :(得分:2)

根据docs。如果您需要publish_actions权限,则需要提交您的应用以供审核。

  

审核

     

如果您的应用请求Facebook必须拥有此权限   查看您的应用如何使用它。

     

通过App Review申请此权限时,请确保您的   我们的团队可以轻松重现说明。