【问题标题】:Facebook Unity API - post screenshot with link and description?Facebook Unity API - 发布带有链接和描述的屏幕截图?
【发布时间】:2013-11-26 21:34:41
【问题描述】:

我正在尝试让我的应用程序(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() 从互联网上发布一张图片,其中包含一个链接和对用户订阅源的描述。有没有办法通过链接和说明将屏幕截图发布到用户的提要?

【问题讨论】:

  • 到目前为止你尝试过什么?您已经粘贴的代码有什么问题?
  • 上面的代码有效,因为它将图像发布到用户的相册。 “错误”是我看不到创建包含屏幕截图、链接和描述的帖子的方法。 FB.API 只接受上面显示的 4 个输入。我试过使用 FB.Feed,我可以发布带有链接和用户可编辑消息的图像,但它只接受图片的 URL。图片必须已经存在于互联网上 - FB.Feed 不提供发布捕获的 Texture2D 的方法。
  • 我试图找到一种通过 FB.API 发布屏幕截图的方法(如我提供的代码中所示),然后提供该屏幕截图的 URL 作为 FB.Feed 的输入,以便我可以使用FB.Feed 在帖子中拥有链接和描述的能力。该方法的问题是,一旦发布,我就无法获得该屏幕截图的 URL。我找不到 facebook 的照片命名约定的押韵或理由。我到处寻找解决方案。关键是截取屏幕截图,并附上描述和链接。

标签: facebook facebook-graph-api unity3d screenshot facebook-unity-sdk


【解决方案1】:
    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

【讨论】:

    【解决方案2】:

    使用上面的代码上传屏幕截图后,检查回调方法中的 FBResult 并使用键“id”解析结果,以便获得上传的照片 ID。

    您的照片链接将是“https://www.facebook.com/photo.php?fbid=INSERT_YOUR_ID”,因为 INSERT_YOUR_ID 是之前结果中的 id。在 FB.Feed 上使用该链接。

    【讨论】:

      【解决方案3】:

      按照以下步骤操作:

      1. 首次使用FB.LogInWithPublishPermissions登录,在参数中添加"publish_actions"权限。
      2. 使用Facebook Graph API上传图片。

      更多详情链接是here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-26
        • 1970-01-01
        • 2014-02-07
        • 1970-01-01
        • 2014-05-13
        相关资源
        最近更新 更多