Что такое дублирующий код ошибки Твиттера? - PullRequest
2 голосов
/ 18 марта 2011

В своем приложении для iphone я использую Twitter-OAuth-iPhone для публикации и получения данных из Twitter.Проблема в том, что когда кто-то хочет опубликовать твит дважды (возможно, по ошибке), я должен сказать ему, что твит уже был опубликован.

, когда я делаю это, я получаю ошибку 403 от Twitter:

запрос не выполнен с ошибкой. Ошибка Domain = HTTP Code = 403 «Операция не может быть завершена. (HTTP error 403.)» *

сообщение не сообщает мне, чтоЯ попытался опубликовать дубликат твита.Код 403, как указано здесь , используется, когда запросы отклоняются из-за ограничений на обновление.

Решение, о котором я подумал, - это сохранить в моем приложении список твитов, которые, гдеразмещен (архив), который будет проверяться каждый раз при отправке нового твита.Проблема с этим решением заключается в том, что если кто-то обновляет свой статус в Твиттере через Интернет или другое приложение, оно не будет выполнено, поскольку архив из моего приложения не будет обновлен.

Я нашел комментарий это говорит о том, что код 403 предназначен только для дублированных твитов, но в документации сказано иначе.

РЕДАКТИРОВАТЬ: на https://github.com/mattgemmell/MGTwitterEngine это говорит о том, что:

В этих случаях вы получите вызов requestFailed: withError: который будет включать объект NSError, детализирующий ошибку.Twitter обычно возвращает значимые коды ошибок HTTP (например, 404 для «пользователь не найден» и т. Д.), И в этом случае -domain NSError будет «HTTP», а -code будет соответствующим кодом состояния HTTP.UserInfo NSError будет содержать ключ «body», который может содержать тело ответа, и «response», который будет содержать NSHTTPURLResponse.Это позволяет очень легко узнать, что происходит с вашими подключениями.

, но атрибут userInfo NSError, который я получаю в моем приложении, равен нулю.

1 Ответ

2 голосов
/ 21 марта 2011

Проблема в том, что Twitter-OAuth-iPhone для ответов 4xx не возвращает тело ответа. Решением может быть изменение MGTwitterEngine для предоставления полного сообщения об ошибке. Пример можно найти здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...