Unity Facebook整合 - 截图发布问题

时间:2015-05-09 09:36:52

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

我一直在寻找一周如何在Facebook时间线上发布Unity截图。

我到目前为止的地方:

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

当我尝试使用photoID

时问题就开始了

了解情况的一些事情:

  • 使用我photoID上传的图片中的FB.API()复制/粘贴上述网址,让我在浏览器中找到正确的图片。

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

  • 使用图片的永久链接在Unity中完美运行,但是我不能用PhotoID来引用它(我也查看了权限问题,我使用的是临时令牌,允许我使用做publish_actions

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

编辑:根据CBroe的建议,我将对帖子的Open Graph标记解决方案进行研究,我会保留帖子。

1 个答案:

答案 0 :(得分:0)

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

因此,使用Facebook上任何图片的真实网址,您可以执行FB.FEED() 正如您可以在上面的评论中阅读它,请确保您的应用不会垃圾邮件用户的时间表。最好遵循CBroe的建议。 但是,如果您仍然对如何获得实际URL感兴趣,请参阅我的分步说明:

  1. 获取您需要的照片ID真实的网址(通常回调结果包含它)。
  2. 使用FB.API(“YOUR_PHOTO_ID?fields = source”,Facebook.HttpMethod.GET,YourCallBack);
  3. 在YourCallBack函数中,FBResult将包含一个JSON对象,该对象在源代码下包含您的真实URL。
  4. 如果您知道如何将JSON字符串反序列化为字典,那么请执行此操作,如果不是Google it:D,或者下载包含反序列化脚本的Util.cs。我得到源的方式是我编辑了Util.cs,因为DeserializeJSONProfile函数侧重于“first_name”,因此复制/粘贴函数将其重命名为DeserializeJSONSource,并将“fist_name”更改为“source”。然后从Unity Util.DeserializeJSONSource(YOUR_FBRESULT.Text)调用它。
  5. 然后你去分配结果的词典也将包含密钥:“source”。

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