在我的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属性为空。
答案 0 :(得分:2)
问题是Twitter-OAuth-iPhone for 4xx响应不会返回响应正文。 解决方案可能是修改MGTwitterEngine以提供完整的错误消息。可以找到一个示例here。