test practices name example card best twitter oauth

practices - ¿Cómo probar la API de twitter localmente?



twitter card types (7)

Estoy intentando escribir una aplicación web que usaría Twitter a través de OAuth.

  1. Ejecuto mi servidor local como ''localhost'', por lo que necesito que la URL de devolución de llamada sea algo como http://localhost/something/twitter.do pero a Twitter no le gusta eso: no es un formato de URL válido

  2. Probablemente voy a hacer muchas pruebas, pero una vez que haya aprobado mi aplicación con mi nombre de usuario, no puedo volver a probar, ¿verdad? ¿Se supone que debo crear varias cuentas de twitter? ¿O puedes eliminar una aplicación y hacerlo de nuevo?


  1. Puedes usar 127.0.0.1 lugar de localhost .

  2. Puede autorizar su aplicación tantas veces como desee desde la misma cuenta de Twitter sin la necesidad de revocarla. Sin embargo, la acción de autenticación solo solicitará Permitir / Denegar una vez y todas las solicitudes de autenticación subsiguientes pasarán hasta que usted revoque el privilegio.


¿Has intentado crear tu propio mecanismo de caché? Puede tomar el resultado de una consulta inicial, guardarlo en la memoria caché en el subproceso local y, dada la hora de caducidad, actualizar desde Twitter. Esto le permitiría probar su aplicación con los datos de Twitter sin incurrir en penalizaciones de llamadas.


1.) No use localhost. Eso no es útil. ¿Por qué no instalar otra instancia de servidor u obtener una porción de vm de prueba de slicehost?

2.) Es probable que desee un montón de cuentas de usuario diferentes y un par de credenciales secretas / clave OAuth diferentes para las pruebas.

Sin embargo, estaba en el camino correcto: HAGA la prueba revocando las credenciales de la aplicación a través de la configuración de conexiones de su cuenta de twitter . Eso debería suceder con gracia. Es posible que desee almacenar un valor de estado junto con la información del token de acceso, para que pueda marcar los tokens como revocados.


En respuesta a (1), vea este hilo, en particular las respuestas de los episodios : https://dev.twitter.com/discussions/5749

No importa qué URL de devolución de llamada coloque en la página de administración de su aplicación en dev.twitter.com (siempre y cuando no use localhost). Usted proporciona la URL de devolución de llamada "real" como parte de su solicitud de un token OAuth.


La "limitación de velocidad" de Twitter para llamadas API GET se basa en la dirección IP de la persona que llama. Por lo tanto, puede probar su aplicación desde su servidor, usando la misma dirección IP, y obtener (una vez aprobada) 15,000 llamadas API por hora. Eso significa que puede golpear su aplicación con muchos nombres de usuario diferentes, siempre y cuando su dirección IP aprobada permanezca igual.

Cuando envía el correo electrónico a Twitter para solicitar un aumento en su límite de tarifa, también puede solicitar que el aumento se aplique a su nombre de usuario de Twitter también.

Creo que Twitter requiere que usted, si necesita cambiar su dirección IP o el nombre de usuario que usa la aplicación, envíe otra solicitud solicitando el aumento del límite de la tasa para esa nueva dirección IP o nombre de usuario. Pero, en mi experiencia, Twitter ha sido bastante rápido en cambiar estas solicitudes (¿tal vez menos de 48 horas?).


También hay otra solución (una solución alternativa, más bien) que requiere que edites tu archivo de hosts .

Aquí es cómo lo haces en una caja de Linux:

  1. Abra su /etc/hosts como root . Para hacer esto, puede abrir una terminal y escribir algo como sudo vi /etc/hosts .

  2. Elija un dominio inexistente para usar como su dirección local y agréguelo a su archivo de hosts . Por ejemplo, tendrá que agregar algo similar a lo siguiente al final.

    127.0.0.1 localhost.cep # this domain name was accepted.

Entonces, eso es todo. Si apunta su navegador a localhost.cep , ahora lo llevará a su servidor local. Espero que haya ayudado :)