Как проверить API twitter локально?
Я пытаюсь написать веб-приложение, которое будет использовать Twitter через OAuth.
-
Я запускаю свой локальный сервер как "localhost", поэтому мне нужно, чтобы URL-адрес обратного вызова был чем-то вроде http://localhost/something/twitter.do, но Twitter не нравится: Недействительный формат URL
-
Я, вероятно, собираюсь сделать много тестов, но как только я одобрю свое приложение с моим именем пользователя, я не могу снова проверить, не так ли? Должен ли я создавать несколько учетных записей Twitter? Или вы можете удалить приложение и сделать это снова?
Ответы
Ответ 1
-
Вы можете использовать 127.0.0.1
вместо localhost
.
-
Вы можете авторизовать свое приложение столько раз, сколько хотите, из одной и той же учетной записи Twitter без необходимости ее аннулирования. Тем не менее, действие аутентификации будет запрашивать только Allow/Deny один раз, и все последующие запросы аутентификации будут проходить до тех пор, пока вы не отмените привилегию.
Ответ 2
Twitter "ограничение скорости" для вызовов API GET основан на IP-адресе вызывающего. Таким образом, вы можете протестировать свое приложение с вашего сервера, используя тот же IP-адрес, и получить (после одобрения) 15 000 вызовов API в час. Это означает, что вы можете использовать в своем приложении множество разных имен пользователей, если ваш одобренный IP-адрес остается прежним.
Когда вы отправляете электронное письмо в Твиттер, чтобы попросить увеличить его лимит ставок, вы также можете попросить увеличить его и для вашего имени пользователя Twitter.
Я считаю, что Twitter требует вас - если вам нужно изменить свой IP-адрес или изменить имя пользователя, использующее приложение, - отправить другой запрос с просьбой увеличить лимит скорости для этого нового IP-адреса или имени пользователя. Но, по моему опыту, Twitter довольно быстро обошел эти запросы (может быть, менее 48 часов?).
Ответ 3
Вы пытались создать свой собственный механизм кеширования? Вы можете взять результат первоначального запроса, кешировать его на локальном потоке и указать время истечения срока действия, обновить его из Twitter. Это позволит вам протестировать ваше приложение на основе данных Twitter без каких-либо штрафных санкций.
Ответ 4
используйте это
для веб-сайта: http://127.0.0.1
и для URL обратного вызова: http://127.0.0.1/home
или любой из ваших адресных страниц, например http://127.0.0.1/index
Ответ 5
В ответ на (1) см. эту тему, в частности эпизод: https://dev.twitter.com/discussions/5749
Не имеет значения, какой URL-адрес обратного вызова вы разместите на своей странице управления приложениями на dev.twitter.com(если вы не используете localhost). Вы предоставляете "реальный" URL обратного вызова как часть вашего запроса на токен OAuth.
Ответ 6
Существует также другое решение (обходное решение, скорее), которое требует, чтобы вы отредактировали файл hosts
.
Вот как вы это делаете в окне linux:
-
Откройте /etc/hosts
файл как root
. Для этого вы можете открыть терминал и ввести что-то вроде sudo vi /etc/hosts
.
-
Выберите несуществующий домен для использования в качестве локального адреса и добавьте его в свой hosts
файл. Например, вам нужно будет добавить что-то похожее на следующее в конце.
127.0.0.1 localhost.cep # this domain name was accepted.
Итак, это в значительной степени. Указывая ваш браузер на localhost.cep
, теперь вы попадете на ваш локальный сервер. Надеюсь, что это помогло :)
Ответ 7
1.) Не используйте localhost. Это не полезно. Почему бы не встать на другой экземпляр сервера или получить тестовый фрагмент vm из slicehost?
2.) Вероятно, вам нужна группа различных учетных записей пользователей и несколько разных ключей/секретных данных OAuth для тестирования.
Вы были на правильном пути: DO тест, отменяющий учетные данные приложения через настройки подключения к вашей учетной записи Twitter. Это должно произойти изящно. Возможно, вы захотите сохранить значение статуса наряду с информацией токена доступа, чтобы вы могли отметить маркеры как отозванные.