Как проверить Twitter API локально? - PullRequest
18 голосов
/ 13 ноября 2009

Я пытаюсь написать веб-приложение, которое будет использовать Twitter через OAuth.

  1. Я запускаю свой локальный сервер как «localhost», поэтому мне нужно, чтобы URL-адрес обратного вызова был похож на http://localhost/something/twitter.do, но Twitter это не нравится: недопустимый формат URL

  2. Вероятно, я собираюсь провести много тестов, но как только я одобрю свое приложение под своим именем пользователя, я не смогу снова протестировать, не так ли? Я должен создать несколько аккаунтов в твиттере? Или вы можете удалить приложение и сделать это снова?

Ответы [ 7 ]

21 голосов
/ 30 декабря 2009
  1. Вы можете использовать 127.0.0.1 вместо localhost.

  2. Вы можете авторизовать ваше приложение столько раз, сколько захотите, из одной и той же учетной записи Twitter без необходимости его отзыва. Однако действие authenticate будет запрашивать разрешение / запрещение только один раз, и все последующие запросы authenticate будут проходить до тех пор, пока вы не отзовете привилегию.

3 голосов
/ 23 ноября 2009

Twitter «ограничение скорости» для вызовов API GET основано на IP-адресе вызывающего абонента. Таким образом, вы можете протестировать свое приложение со своего сервера, используя тот же IP-адрес, и получать (после подтверждения) 15 000 вызовов API в час. Это означает, что вы можете использовать приложение с разными именами, если ваш утвержденный IP-адрес остается прежним.

Когда вы отправляете электронное письмо в Twitter, чтобы попросить увеличить лимит вашей ставки, вы также можете попросить, чтобы это увеличение также распространялось на ваше имя пользователя в Twitter.

Я полагаю, что Twitter требует от вас - если вам нужно изменить свой IP-адрес или изменить имя пользователя, которое использует приложение, - чтобы отправить еще один запрос с просьбой об увеличении ограничения скорости для этого нового IP-адреса или имени пользователя. Но, по моему опыту, Twitter довольно быстро справлялся с этими запросами (может быть, менее чем за 48 часов?).

2 голосов
/ 06 февраля 2016

используйте вот так для сайта: http://127.0.0.1 и для обратного вызова URL: http://127.0.0.1/home или любой адрес вашей страницы, например http://127.0.0.1/index

1 голос
/ 06 июня 2014

Существует также другое решение (скорее, обходное), которое требует от вас редактирования файла hosts.

Вот как вы это делаете на linux box:

  1. Откройте файл /etc/hosts как root. Для этого вы можете открыть терминал и набрать что-то вроде sudo vi /etc/hosts.

  2. Выберите несуществующий домен для использования в качестве локального адреса и добавьте его в файл hosts. Например, вам нужно будет добавить что-то похожее на следующее в конце.

    127.0.0.1 localhost.cep # this domain name was accepted.
    

Итак, вот и все. Указание вашему браузеру localhost.cep теперь приведет вас на локальный сервер. Надеюсь, что помог :)

1 голос
/ 13 ноября 2009

Вы пытались создать свой собственный механизм кэширования? Вы можете взять результат начального запроса, кэшировать его в локальном потоке и, учитывая время истечения, обновить из Twitter. Это позволило бы вам протестировать ваше приложение на данных Twitter без штрафов за звонки.

0 голосов
/ 22 февраля 2013

В ответ на вопрос (1) см. Эту ветку, в частности ответы episod : https://dev.twitter.com/discussions/5749

Неважно, какой URL-адрес обратного вызова вы указали на странице управления вашего приложения на dev.twitter.com (если вы не используете localhost). Вы предоставляете «реальный» URL обратного вызова как часть вашего запроса на токен OAuth.

0 голосов
/ 15 ноября 2009

1.) Не используйте localhost. Это не полезно. Почему бы не запустить другой экземпляр сервера или не получить тестовый фрагмент vm от slicehost?

2.) Вероятно, для тестирования вам понадобится несколько разных учетных записей пользователей и пара разных ключей / секретных учетных данных OAuth.

Вы были на правильном пути, хотя: DO тест, чтобы отозвать учетные данные приложения с помощью настройки подключения вашей учетной записи Twitter . Это должно произойти изящно. Возможно, вы захотите сохранить значение состояния рядом с информацией о токенах доступа, чтобы пометить токены как отозванные.

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