我想让我的应用程序(iOS,Android)允许用户使用链接和描述将屏幕截图发布到Facebook。我可以使用FB.API()将我的应用程序的屏幕截图上传到Facebook为我的应用程序自动生成的用户专辑,通过:
int width = Screen.width;
int height = Screen.height;
Texture2D 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();
var wwwForm = new WWWForm();
string picName = "Idioman_" + Time.time + ".png";
wwwForm.AddBinaryData("image", screenshot, picName);
Debug.Log("trying to post screenshot");
FB.API("me/photos", Facebook.HttpMethod.POST, PostPicCallback, wwwForm);
我可以使用FB.Feed()从互联网上发布图像,其中包含链接和描述到用户的Feed。有没有办法通过链接和说明将屏幕截图发布到用户的Feed?
答案 0 :(得分:2)
var snap = new Texture2D(Screen.width, Screen.height, TextureFormat.RGB24, false);
snap.ReadPixels(new Rect(0, 0, Screen.width, Screen.height), 0, 0);
snap.Apply();
var screenshot = snap.EncodeToPNG();
int i = UnityEngine.Random.Range (0, 2);
var wwwForm = new WWWForm();
wwwForm.AddBinaryData("image", screenshot, "picture.png");
wwwForm.AddField ("name", "this will be the caption for the image");
FB.API("me/photos", HttpMethod.POST, CallbackUploadImage, wwwForm);
您可以在此处参阅可用字段的更多详细信息
https://developers.facebook.com/docs/graph-api/reference/v2.2/photo
答案 1 :(得分:1)
使用上面的代码上传屏幕截图后,请检查回调方法中的FBResult并使用键“id”解析结果,以便获得上传的照片ID。
您的照片链接将为“https://www.facebook.com/photo.php?fbid=INSERT_YOUR_ID”,因为INSERT_YOUR_ID是之前结果的ID。在FB.Feed上使用该链接。
答案 2 :(得分:0)
请按以下步骤操作:
FB.LogInWithPublishPermissions
通过在参数中添加"publish_actions"
权限进行登录。 有关详情,请点击 here 。