作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试使用 Facebook SDK 使用 FB.Feed()
而不是 FB.API()
将屏幕截图上传到 Facebook,以便用户可以编写消息到他们的帖子。我能够让它在 Unity Editor 上运行,但是当我在我的 Android 上尝试它时,我得到:
"This dialog has been passed a bad parameter.
API Error Code: 100
API Error Description: Invalid parameter
Error Message: picture URL is not properly formatted"
这是我写的代码:
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();
File.WriteAllBytes(Application.persistentDataPath + "/Screenshot.png", screenshot);
//Application.CaptureScreenshot(Application.persistentDataPath + "/Screenshot.png");
Debug.Log(Application.persistentDataPath + "/Screenshot.png");
Debug.Log("Does File Exist? " + File.Exists(Application.persistentDataPath + "/Screenshot.png"));
Debug.Log("File://" + Application.persistentDataPath + "/Screenshot.png");
FB.Feed(
picture: "File://" + Application.persistentDataPath + "/Screenshot.png"
);
最佳答案
不能使用FB.Feed()
上传图片到facebook,picture
参数必须是web中的url。
要上传图片,您可以使用 FB.API("me/photos")
方法
private void TakeScreenshot()
{
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();
WWWForm wwwForm = new WWWForm();
wwwForm.AddBinaryData("image", screenshot, "screenshot.png");
FB.API("me/photos", HttpMethod.POST, CallBack, wwwForm);
}
关于android - 在Unity中使用Facebook SDK上传截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22739066/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!