【问题标题】:How to Avoid Posting a Duplicate when Publishing to Facebook?发布到 Facebook 时如何避免重复发布?
【发布时间】:2012-01-11 09:44:28
【问题描述】:

使用 Graph API,我通过 POST 到 /me/feed 连接来发布故事。我从 Facebook 获得了成功或错误结果。到现在为止还挺好。有时,API 需要很长时间并且连接超时。在这种情况下,我不确定请求是成功还是失败(即,请求可能从未到达 Facebook,或者它成功但结果从未返回给我)。您如何处理这种情况?

更多详情: 我在 Facebook 和 Twitter 上发布了很多帖子,所以超时的情况经常发生。使用 Twitter,解决方案很简单。如果请求第一次超时,我只是再试一次。 Twitter 检测到重复,所以如果帖子第一次成功发布,那么我会在第二次请求时收到“重复状态”错误,我知道我不需要再重试了。

但是 Facebook 没有检测到重复,所以如果我重试发布请求,我可能会将帖子的两个副本发布到用户墙,这并不好。另一方面,如果我不重试,我可能会冒着帖子根本没有发布的风险。想法?

【问题讨论】:

  • 你好,@Waleed。您最终找到问题的答案了吗?
  • @MichaelChernetsov 我没有。似乎没有一种干净的方法可以做到这一点。我想到的一个想法是先阅读页面的时间线,以在发布之前检查帖子是否存在。这会起作用,但这不是我想要的干净的解决方案。

标签: facebook facebook-graph-api facebook-rest-api


【解决方案1】:

我从 Facebook 获取成功或错误结果。

嗯。当我发布到 Graph API 时,我会返回一个错误或帖子的 ID。我从来没有看到任何成功的消息。您在 API 周围使用什么 SDK?

有时,API 需要很长时间和连接时间 出去。

通常当事情运行缓慢时,这是由于未指定channelUrl。见https://developers.facebook.com/docs/reference/javascript/

频道文件的缓存时间很重要 可能的。提供此文件时,您必须发送有效的 Expires 标头 具有较长的有效期。这将确保通道文件是 由浏览器缓存,这对于流畅的用户体验很重要。 如果没有适当的缓存,跨域通信会变得非常 速度慢,用户体验会严重下降。

【讨论】:

  • 不,DMCS。这个答案没有帮助。虽然我很欣赏这种尝试,但您的回答甚至与我提出的问题并不接近,并且完全错过了问题的重点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-27
  • 2011-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多