什么是Twitter的重复推文错误代码?

时间:2011-03-18 11:44:22

标签: iphone twitter

在我的iphone应用程序中,我使用Twitter-OAuth-iPhone从Twitter发布和检索数据。问题是,当有人想要发布两次推文(可能是错误的)时,我需要告诉他这条推文已经发布了。

当我这样做时,我从Twitter收到403错误:

  

请求失败,错误错误   Domain = HTTP Code = 403“操作   无法完成。 (HTTP错误   403。)“

该消息并未告诉我,我试图发布重复的推文。由于更新限制而拒绝请求时,将使用指定here的403代码。

我想到的解决方案是在我的应用程序中保留一个推文列表,其中发布(存档)每次发送新推文时都会检查。这个解决方案的问题是,如果有人从网络或其他应用程序更新他的推特状态,它将失败,因为我的应用程序中的存档将不会更新。

我发现comment表示403代码仅适用于重复的推文,但文档说不然。

修改https://github.com/mattgemmell/MGTwitterEngine它说:

  

在这些情况下,您会收到一个电话   to requestFailed:withError:将会   包括一个NSError对象详细说明   错误。 Twitter通常会回归   有意义的HTTP错误代码(如404   为'用户未找到',等),以及   那种情况是NSError的-domain   将是“HTTP”,而代码将是   相关的HTTP状态代码。该   NSError的userInfo将包含一个   可能包含的关键“身体”   响应体和“响应”哪个   将包含NSHTTPURLResponse。   这真的很容易   知道你的发生了什么   连接。

但我在我的应用程序中收到的NSError的userInfo属性为空。

1 个答案:

答案 0 :(得分:2)

问题是Twitter-OAuth-iPhone for 4xx响应不会返回响应正文。 解决方案可能是修改MGTwitterEngine以提供完整的错误消息。可以找到一个示例here