【发布时间】:2014-12-16 09:54:56
【问题描述】:
我正在使用 Unity 4.5,最新的 facebook sdk 6.0,我现在正在使用 android,但它也应该适用于 iOS。 我正在尝试截取屏幕截图并将其上传到我的墙上,因此我使用来自 facebook sdk 的标准示例场景。 当我使用我的私人帐户作为测试帐户时,一切正常,并且它也适用于较旧项目(至少 1 岁)的 facebook 应用程序 ID。但是使用普通帐户(没有测试人员)和新的 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);
}
希望有人有解决方案。
谢谢!
【问题讨论】:
标签: android ios facebook unity3d