5

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

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

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

4

1 回答 1

-2

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

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

有时,API 需要很长时间并且连接超时。

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

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

于 2012-01-11T16:29:46.317 回答