繁体   English   中英

Unity Facebook集成-屏幕截图发布问题

[英]Unity Facebook integration - Screenshot posting Issues

我一直在寻找一个星期如何在Facebook时间线上发布来自Unity的屏幕截图。

我到目前为止所到之处:

  • 我可以截图
  • 我可以使用FB.API()将其上传到相册
  • 我可以从回调中挤出photoID

当我尝试使用该photoID时,问题开始

了解情况的几件事:

  • 从上传的FB.API()photoID复制/粘贴到上面提到的网址中,从而使我在浏览器中看到正确的图片。

  • 但是在Unity中尝试相同的链接会产生一个问号(我猜找不到图片)

  • 使用图片的永久链接可以在Unity中完美地工作,但是那样一来,我就无法使用PhotoID来引用它(我也研究了权限问题,并且我使用的是临时令牌,可以让我执行publish_actions

我的目标是:我想在用户的时间轴上使用facebook SDK发布来自Unity的屏幕截图。 我将使用Unity WebGL。

编辑:根据CBroe的建议,我将对帖子的Open Graph标记解决方案进行研究,我将继续发布该帖子。

我找到了自己的问题的答案:

因此,使用facebook上任何图片的真实URL,您都可以执行FB.FEED()。正如您在上面的评论中可以看到的那样,请确保您的应用不会向用户的时间轴发送垃圾邮件。 最好遵循CBroe的建议。 但是,如果您仍然对如何准确获取实际网址感兴趣,请按照以下逐步说明进行操作:

  1. 获取需要真实URL的照片ID(通常在回调结果中包含该ID)。
  2. 使用FB.API(“ YOUR_PHOTO_ID?fields = source”,Facebook.HttpMethod.GET,YourCallBack);
  3. 在YourCallBack函数中,FBResult将包含一个JSON对象,该对象在源密钥下具有您的真实URL。
  4. 如果您知道如何将JSON字符串反序列化为Dictionary,那么,如果不是Google:D,则可以这样做,或者下载包含反序列化脚本的Util.cs。 到达源代码的方式是我编辑了Util.cs,因为DeserializeJSONProfile函数专注于“ first_name”,因此将函数复制/粘贴到DeserializeJSONSource,并将“ fist_name”更改为“ source”。 然后从Unity Util.DeserializeJSONSource(YOUR_FBRESULT.Text)调用它。

然后您要去分配结果的字典也将包含键:“ source”。

(我也试图在发布FB.API()的同时获得相同的源信息,但我无法将其挤出。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM