Está en la página 1de 80

Directrices y Condiciones

? Desarrollador Directrices, normas de circulación, y Términos de Servicio


? Mostrar Directrices
? Geo Directrices para desarrolladores

p
p pp
 p
Twitter sostiene una plataforma abierta que apoya a los millones de personas en todo el
mundo que está compartir y descubrir lo que está sucediendo ahora. Queremos potenciar
a nuestros socios del ecosistema para establecer negocios alrededor de la valiosa
información que fluye a través de Twitter. Al mismo tiempo, nuestro objetivo es lograr un
equilibrio entre el fomento de desarrollo interesante y proteger tanto a Twitter y los
derechos de los usuarios.
Así, hemos llegado con un conjunto de reglas para desarrolladores de la carretera
(" ") que se aplican a todos los desarrolladores y empresas de construcción
productos y servicios que interactúan con Twitter. Si usted es un usuario de los servicios
de Twitter, pero no un desarrollador, estas normas solo se verá lo que nuestros socios
están autorizados a ver con el contenido y la información que comparte con Twitter.
El Reglamento deberá evolucionar junto con nuestros ecosistemas como los
desarrolladores de seguir innovando y buscar formas nuevas y creativas para utilizar la
API de Twitter, así que por favor revise periódicamente para ver la versión más actual. Si
usted está haciendo algo prohibido por las Normas, hablar con nosotros acerca de si
deberíamos hacer un cambio o que se haga una excepción.
I. acceso a la API
1. Todo uso de la API de Twitter y el contenido, documentación, código y otros materiales
relacionados a disposición de usted a través de la API de Twitter (" p
  ") en
relación con los productos o servicios que usted ofrece (su"  ") está sujeto y debe
cumplir con estas Reglas.
2. Usted puede utilizar la API de Twitter y de contenido Twitter para desarrollar un servicio
para buscar, visualizar, analizar, recuperar, ver y presentar la información o en
Twitter. Usted puede utilizar el nombre de Twitter o los logos y marcas de otros elementos
que pone a disposición de Twitter con el fin de identificar la fuente de Twitter de contenido
(" p"), sujeta a las presentes Reglas.
3. El uso de la API de Twitter Twitter y contenido están sujetos a ciertas limitaciones de
acceso, llamadas, y el uso de la API de Twitter como se establece en dev.twitter.com o
cuando se prevea a usted por Twitter. Si Twitter razonablemente cree que usted ha tratado
de superar o evitar los límites de velocidad, su capacidad para utilizar la API de Twitter y
de contenido Twitter puede ser temporal o permanentemente bloqueada.Twitter puede
monitorear el uso de la API de Twitter para mejorar el servicio de Twitter y para asegurar
su cumplimiento con el presente Reglamento.
4. No intento o animar a otros a:
(A vender), alquilar, arrendar, sublicenciar, distribuir, o sindicato de la API de Twitter
Twitter o Contenido a cualquier tercero por dicha parte a desarrollar productos o servicios
adicionales sin la aprobación previa por escrito de Twitter;
(B) suprimir o alterar cualquier aviso o marcas en la API de Twitter o de contenido Twitter;
(C) el uso o acceso a la API de Twitter para efectos de control de la disponibilidad, el
rendimiento o funcionalidad de cualquier de los productos y servicios de Twitter, o por
cualquier evaluación comparativa a otros fines de la competencia, o
(D) el uso de Twitter Marcas como parte del nombre de su empresa o servicio, o en
cualquier producto, servicio o logotipos creados por usted.Usted no puede usar Twitter
marcas de una manera que crea una sensación de respaldo, patrocinio, o falsa asociación
con Twitter. Todo uso de Twitter Marcas, y todos de buena voluntad que surjan de dicho
uso, redundará en beneficio de Twitter.

II. PRINCIPIOS
Le pedimos que usted y su Servicio de seguir cuatro principios:
No sorprende usuarios
No cree o distribuir spam
Respetar la privacidad del usuario
Ser un buen socio en Twitter

1. No sorprende usuarios
(A) Mantener la integridad de los píos. Hay una gran cantidad de información embalado en
tweets a pesar de que son sólo 140 caracteres de longitud (es decir, las relaciones con los
nombres de usuario, etc.) Las Directrices de visualización proporcionar orientación sobre la
forma de transmitir mejor toda la información prevista en un Tweet. Algunos puntos a
destacar:
o No modificar o revisar el contenido generado por el usuario a través de la entrega de la
API, excepto lo necesario debido a limitaciones técnicas o requisitos de cualquier red,
dispositivos, servicios o medios de comunicación.
o Identificar al usuario de que autor o en un Tweet a menos que ya sea proporcionando
tweets de manera agregada, o necesita hacer tweets anónima debido a la privacidad de
los usuarios o los problemas de seguridad.

(B) Obtener permiso de los usuarios antes de:


o enviar tweets o mensajes en su nombre. Un usuario que se autentica a través de su
aplicación no constituye un consentimiento para enviar un mensaje.
o modificar su información de perfil o teniendo en cuenta las acciones (incluidas las
siguientes, unfollowing, y el bloqueo) en su nombre.
o hashtags añadiendo anotaciones de datos, o de otros contenidos en Tweet de un
usuario. Si la aplicación permite a los usuarios enviar tweets o de otros contenidos a
Twitter, mostrar al usuario exactamente lo serán publicados.

(C) Su aplicación no debe:


o nombres comerciales uso y / o signos distintivos de una manera que puede inducir a
error, confundir o engañar a los usuarios. Para obtener más información sobre el uso de
Twitter Marcas, consulte nuestras directrices de uso de marcas registradas aquí
o confundir o inducir a error a los usuarios sobre el origen o propósito de su aplicación.
o el uso de aplicaciones como su dirección web no relacionadas una URL, un sitio
destinado a atraer o animar a los usuarios a violar nuestras normas, un spam o en el sitio
de malware, o un URL más corto para ocultar el verdadero destino.
o replicar, marco, ni tampoco copiar la página web de Twitter o su diseño.
o suplantar la identidad o facilitar la suplantación de otros de una manera que puede
inducir a error, confundir o engañar a los usuarios.

(D) El respeto de la privacidad y la configuración de uso compartido de contenido de


Twitter. Inmediatamente cambiar su tratamiento de Twitter de contenido (por ejemplo, las
supresiones, modificaciones y opciones para compartir) los cambios se informó a través de
la API de Twitter.

2. No cree o distribuir spam


(Un spam) puede tomar muchas formas. Por favor, respetar las reglas de spam aquí.
(B) Si la aplicación realiza acciones automáticas (incluyendo otras actualizaciones del
contenido o piar), asegúrese de cumplir con las reglas de automatización encontrado aquí.
(C) No registrar las solicitudes de masas. Esto incluye:
o la creación de fichas / aplicaciones con el fin de impedir que otros utilicen o vendan esos
nombres, u otro uso comercial.
o utilizar los alimentadores de los contenidos de terceros para actualizar y mantener las
cuentas bajo los nombres de los terceros.
o que presenten solicitudes múltiples con la misma función con diferentes nombres con el
fin de ponerse en cuclillas nombre.

(D) No facilitar o fomentar la publicación de:


o enlaces a contenido malicioso
o imágenes pornográficas u obscenas a las imágenes de perfil de usuario y las imágenes
de fondo

3. Respetar la privacidad del usuario


(A) Revelar claramente lo que está haciendo con la información que recolectamos de los
usuarios.
(B) Revelar claramente la hora de agregar información de localización del usuario de un
píos, ya sea como una etiqueta geográfica o datos anotaciones. Sea claro acerca de si va
a añadir un lugar o coordenadas específicas. Si la aplicación permite a los usuarios Tweet
con su ubicación asegúrese de que cumple con las mejores prácticas encontradas aquí.
(C) No solicitar claves de otro desarrollador de consumo o los secretos de los
consumidores si se guardarán fuera de control que los desarrolladores. Por ejemplo,
servicios en línea que piden estos valores a fin de proporcionar un "tweet-branding"
servicio no se admiten.
(D) No facilitar o fomentar la publicación de información privada o confidencial.

4. Ser un buen socio en Twitter


(A) Si visualiza tweets en un contexto fuera de línea, hacerlo de acuerdo con las directrices
(B) El respeto de las características y funcionalidades integrado con Twitter o incluidos en
el Contenido o la API de Twitter. No trate de interferir, interrumpir o desactivar cualquiera
de las funciones de la API de Twitter.
(C) Si la aplicación hace que las cuentas de usuario o induce a violar las reglas de
Twitter (por ejemplo, retweeting actualizaciones de spam, publicar repetidamente los
vínculos duplicados, etc), puede ser suspendido o cancelado. Hemos proporcionado
algunas orientaciones en nuestro Prevención del Maltrato y la página de ayuda de
seguridad.
(D) El respeto de los derechos de propiedad intelectual de terceros.
(E) No usar el Twitter verificada insignia de la cuenta, el estado de cuenta verificado, o
cualquier otra categorización en las cuentas de usuario mejorada que los registrados a
usted por Twitter a través de la API.

III. CONECTAR CON DIRECTRICES TWITTER


Las siguientes directrices se aplican si utiliza Conectar con Twitter para integrar la
funcionalidad de Twitter en el Servicio.
1. Conectado con Twitter
Los usuarios finales deben ser presentados con la opción de acceder a Twitter a través del
protocolo OAuth. Los usuarios finales sin una cuenta de Twitter se debe dar la oportunidad
de crear una nueva cuenta de Twitter a lo dispuesto por Twitter. Usted debe mostrar la
opción Conectar con Twitter al menos tan destacado como el más importante de cualquier
otro tercero de redes sociales de inscripción o registro de marcas y marcas que aparecen
en el servicio.

2. General
¦ p pp ppp p pp  p ppp p
  p ppp pppp p  pppp
   ppp  p pp  p¦    p   pp
p p p  pp   pp  p  p¦p p p pp
   p pp ppp !"ppp #ppp  pp $p
¦  
           
   
 

3. Twitter Identidad
Una vez que un usuario final ha autenticado a través Conectar con Twitter, usted debe
mostrar claramente la identidad del usuario final Twitter.Twitter identidad incluye pantalla
visible del avatar del usuario final, el nombre de usuario de Twitter, Twitter y una "marca de
t". Muestra de los seguidores del usuario final en el teléfono de Servicio de mostrar
claramente que la relación se asocia con el servicio de Twitter.

IV. USO COMERCIAL


Nuestro objetivo es ofrecerle a usted, nuestro socio de los ecosistemas, con una política
que es clara y transparente sobre lo que puede hacer para obtener beneficios económicos
de su Servicio. Este es el mejor resumen en dos principios:
? contenido de respeto al usuario - píos se puede utilizar en la publicidad, no como
publicidad.
? experiencia de respeto al usuario - construir su servicio en todo el calendario, no en la
línea de tiempo.
Y ahora, por los detalles:
$p p   . Twitter se reserva el derecho a servir de publicidad a través de su
API ("   pp "). Si usted decide servir anuncios de Twitter una vez que
empiecen a cumplir ellos, vamos a compartir una porción de los ingresos por publicidad
con usted por nuestra corriente términos y condiciones a continuación.
£$p%  ppp p
  
(A) Le animamos a crear oportunidades de publicidad alrededor del contenido de Twitter
que son compatibles con el presente Reglamento. En los casos donde el contenido de
Twitter es la base principal de la venta de publicidad, le pedimos que compensar a
nosotros (recuperables en contra de cualquier tasas que deben pagarse a Twitter para
licencias de datos). Por ejemplo, puede vender los patrocinios o la marca en torno a los
gadgets o iframes que incluyen píos y otras visualizaciones personalizadas de Twitter. Por
favor, contacte con nosotros para preguntas e información en twitter_ads@twitter.com, o
para notificarnos de una oportunidad de publicidad.
(B) En general, usted puede anunciar su alrededor y en aplicaciones o sitios que muestran
píos, pero usted no puede colocar anuncios dentro de la línea de tiempo Twitter en su
servicio que no sean anuncios de Twitter.
(C) Su publicidad no puede parecerse o razonablemente ser confundida por los usuarios
como un Tweet.
(D) Usted puede hacer publicidad en las proximidades de la línea de tiempo Twitter (por
ejemplo, los anuncios de banner de arriba o por debajo de línea de tiempo), pero debe
haber una separación clara entre el contenido de Twitter y sus anuncios.

&$p
 pp  p . Usted debe obtener el permiso del usuario que creó el
Tweet si usted:
o quieren utilizar su Tweet en un bien duradero comerciales o producto (por ejemplo,
usando un Tweet en una camiseta o un poster o hacer un libro basado en tweets de
alguien), o
o crear un anuncio que implica el patrocinio o respaldo en nombre del usuario.

V. OTROS TÉRMINOS LEGALES


1.Termination.
Usted puede cancelar cualquier licencia en el presente Reglamento, en cualquier momento
mediante el cese de su acceso a la API de Twitter y el uso de cualquier Contenido Twitter,
y eliminar todas las copias de la API de Twitter y de contenido Twitter como se describe a
continuación.Twitter puede inmediatamente suspender su acceso a la API de Twitter o
cualquier Contenido Twitter (o si es necesario, dar por terminado este acuerdo con usted)
en cualquier momento y sin previo aviso si usted incumple cualquier término o condición
en este acuerdo o no participar en actividades que Twitter determina razonablemente
puedan causar la responsabilidad a Twitter. Twitter también puede terminar cualquier
continuación licencias por cualquier razón con treinta (30) días de antelación (incluso por
correo electrónico a la dirección asociada con su cuenta) a ti. Twitter no será responsable
por los costos, gastos o daños que resulten de su terminación de este acuerdo. A la
terminación de este acuerdo, que rápidamente dejará de acceder y utilizar la API de
Twitter y de contenido de Twitter y se eliminarán todos los contenidos de Twitter y
cualquier otra información derivada de éste y todas las copias y partes del mismo, en todas
sus formas y tipos de medios de comunicación de su Servicio. Secciones 1 (4) y V de las
presentes Reglas sobrevivirán a la terminación del presente acuerdo.
2.Confidentiality.
Usted puede tener acceso a información no pública determinadas, software y
especificaciones relativas a la API de Twitter ("'    p
    "), que es
confidencial y propiedad de Twitter. Usted puede utilizar esta información confidencial sólo
cuando sea necesario en el ejercicio de sus derechos reconocidos en el presente
Reglamento. Usted no puede revelar cualquiera de esta información confidencial a
terceros sin el consentimiento escrito previo de Twitter. Usted acepta que proteger esta
información confidencial del uso no autorizado, el acceso, o la divulgación de la misma
manera que utilizaría para proteger su información confidencial y patentada de propios de
la misma naturaleza y en cualquier caso nada menos que con un grado razonable de
cuidado .
3.Ownership; de votos.
3,1 O . Usted reconoce expresamente que Twitter y sus usuarios finales en todo el
mundo mantienen todos los derechos, títulos e intereses sobre y para el contenido de
Twitter, incluyendo todos los derechos de propiedad intelectual sobre éste. Usted también
reconoce que, entre usted y Twitter, Twitter posee todos los derechos, títulos e intereses
sobre y para la API de Twitter, Twitter Marcas, y el servicio de Twitter (como de cualquier
trabajo o mejora derivados), incluyendo pero no limitado a la propiedad intelectual
derechos sobre ellos. Usted se compromete a no hacer nada incompatible con dicha
propiedad. Todos los derechos no mencionados expresamente aquí son retenidos. El
usuario acepta que no cuestionar la propiedad de Twitter, la validez de cualquier licencia
de uso, o de otra manera copiar o hacer uso de las Marcas de Twitter durante o después
de la terminación de este acuerdo, salvo en lo expresamente autorizado en el mismo. Si
usted adquiere ningún derecho sobre las Marcas de Twitter o cualquier otro similar marcas
de crear confusión, por ministerio de la ley o de lo contrario deberá, sin costo alguno para
Twitter, inmediatamente asignar tales derechos a Twitter.
3,2 . En las relaciones entre usted y Twitter, que conservan todos los derechos en
todo el mundo, títulos e intereses sobre y para el Servicio, con exclusión de la API de
Twitter, Twitter Marcas, y el Servicio de Twitter (como de cualquier trabajo o mejora
derivados), incluyendo pero no limitado a todos los intelectuales derechos de propiedad en
el mismo. Usted puede proporcionar Twitter con observaciones sobre el contenido o la API
de Twitter Twitter o su evaluación y uso de los mismos. Usted acepta que Twitter y sus
representantes tendrán la libertad de copiar, modificar, crear trabajos derivados, exhibir
públicamente, publicar, distribuir, licenciar y sublicenciar, incorporar y utilizar de otra
manera la retroalimentación, incluyendo las obras derivadas de los mismos, para cualquier
y todos los comerciales y no fines comerciales, sin obligación de ningún tipo en su caso.
4.Updates.
Twitter puede actualizar o modificar la API de Twitter, Reglamento, y demás términos y
condiciones, incluidas las Directrices para mostrar, de vez en cuando a su sola discreción,
publicando los cambios en este sitio o por lo contrario se le notifica (dicha notificación
puede ser por correo electrónico). Usted reconoce que estas actualizaciones y
modificaciones pueden afectar negativamente a cómo su accesibilidad a los servicios o se
comunica con la API de Twitter. Usted dispondrá de treinta (30) días a partir de dicha
notificación para cumplir con las modificaciones. Si cualquier cambio es inaceptable para
usted, usted solo tiene que terminar este acuerdo mediante el cese de toda utilización de
la API de Twitter y de contenido Twitter. Su acceso o uso continuado de la API de Twitter o
cualquier Contenido Twitter siguiente al período de 30 días se constituirá la aceptación
obligatoria de los cambios.
5.Representations y Garantías; Responsabilidad.
5.1 c

   


. Usted manifiesta y garantiza que:
(A) usted tiene el poder y la autoridad necesarios para entrar en este acuerdo, y que el
desempeño de sus obligaciones no constituyen una infracción o que viole cualquier otro
acuerdo o los derechos de terceros derivadas de las mismas;
(B) usted mantendrá durante la vigencia de este acuerdo todos los derechos y licencias
necesarios con respecto a su servicio, y
(C) su servicio y su uso, distribución, venta y licencia, incluido el uso de cualquier licencia a
continuación, hace y seguirá cumpliendo con todas las extranjeras, federales, estatales y
leyes locales, reglas y regulaciones.
5.2  
 
. EL CONTENIDO Twitter, Twitter API, Y TODOS LOS PRODUCTOS
Y SERVICIOS OTROS TWITTER proporcionado a continuación SE PROPORCIONAN
"TAL CUAL" Y "TAL-DISPONIBILIDAD", SIN GARANTÍA DE NINGÚN TIPO. Twitter
rechaza cualquier garantía, ya sea expresa, implícita, legal, o no, incluido SIN
LIMITACIÓN, LAS GARANTÍAS DE COMERCIALIZACIÓN, NO INFRACCIÓN,
IDONEIDAD PARA UN PROPÓSITO PARTICULAR, Y CUALQUIER GARANTÍA O
CONDICIONES DERIVADAS DE NEGOCIACIÓN O USO DE COMERCIO. TWITTER NO
GARANTIZA QUE EL CONTENIDO Y TWITTER Twitter API y cualquier producto
TWITTER y servicios que dispensa en virtud de ella satisfacer todas sus REQUISITOS O
USO DE LOS DATOS QUE TALES Y TWITTER Twitter API esté libre de errores
INTERRUMPA, libre de virus, o Segura.
6. Limitación de la responsabilidad.
EN NINGÚN CASO CON TWITTER SERÁ RESPONSABLE ANTE USTED DE DAÑOS
ESPECIALES, incidental, ejemplar, punitivo o DERIVADOS (INCLUYENDO LA PÉRDIDA
DE USO, DATOS O BENEFICIOS DE NEGOCIO) que surjan de o en conexión con este
Acuerdo o EL USO DE LA API de Twitter, CONTENIDO Twitter, Twitter u otros productos y
servicios si dicha responsabilidad surge de cualquier reclamación basada en contrato,
garantía, agravio (incluyendo negligencia), responsabilidad estricta u otra, y si o no se le
ha advertido DE LA POSIBILIDAD DE dicha pérdida o daño. Las limitaciones anteriores se
SOBREVIVIR Y aplicarán aun cuando cualquier RESARCITORIA especificado en este
acuerdo se comprueba que ha fallado a su propósito esencial. EN CUALQUIER CASO, LA
RESPONSABILIDAD GLOBAL DE TWITTER en virtud del presente acuerdo no exceda del
mayor de cien pesos ($ 100) o las tasas agregado que pagarse por el acceso a la API de
Twitter en el último año.
7. Indemnización.
Usted deberá indemnizar, defender y Twitter, sus subsidiarias, afiliados, funcionarios y
empleados, libres de todo reclamo, daños, pérdidas, responsabilidades, acciones,
resoluciones, costas y gastos (incluyendo honorarios razonables de abogados)
presentados por un tercero que surja de o en conexión con: (a) cualquier acto u omisión
por usted, en relación con el uso de los Contenidos de Twitter, la API de Twitter, o las
Marcas de Twitter, (b) su uso del Contenido de Twitter, la API de Twitter, o el Twitter
Marcas fuera de lo expresamente permitido por este acuerdo; (c) su incumplimiento o
supuesto incumplimiento de cualquiera de los términos, las restricciones, obligaciones o
representaciones en virtud del presente acuerdo, o (d) su servicio. Usted asumirá el control
de la defensa y la resolución de cualquier reclamación sometida a su
indemnización. Twitter puede, sin embargo, en cualquier momento optar por tomar el
control de la defensa y transacción de dicha reclamación.En cualquier caso, no espere
ninguna reclamación sin el consentimiento previo por escrito de Twitter.
8. Varios.
Estas normas constituyen el acuerdo completo entre las partes con respecto al objeto y
sustituye y fusiona todas las propuestas, acuerdos y las comunicaciones
contemporáneas. Cualquier modificación a las Reglas de que debe estar en un escrito
firmado por usted y Twitter. Usted no puede ceder los derechos y obligaciones otorgados
en este documento, voluntariamente o por ministerio de la ley (incluyendo, sin limitación en
relación con una fusión, adquisición o venta de activos), salvo con el consentimiento
expreso y por escrito de Twitter, y cualquier intento de asignación en violación de este
párrafo es nula. Este acuerdo no crea en forma alguna asociación, organismo o empresa
conjunta. Este acuerdo se regirá e interpretará de acuerdo con las leyes del Estado de
California, sin tener en cuenta o la aplicación de conflicto de leyes o principios. Todas las
reclamaciones que surjan de o se relacione con este acuerdo se planteará exclusivamente
ante los tribunales federales o estatales del Condado de San Francisco, California,
EE.UU., y usted se somete a la jurisdicción personal en estos tribunales. Ninguna renuncia
por Twitter de cualquier convenio o derecho en virtud de este acuerdo será efectivo a
menos recordado en un escrito debidamente autorizada por Twitter. Si alguna parte de
este acuerdo se determina para ser inválida o inejecutable por un tribunal de jurisdicción
competente, dicha disposición se aplicará en la máxima extensión y las demás
disposiciones de este acuerdo permanecerán en pleno vigor y efecto.

REQUISITOS

1. p : El nombre del autor debe ser presentado como autor Twitter
nombre de usuario o el nombre con el actual nombre de usuario. El nombre
debe estar vinculada a usuario de Twitter en la página de
perfil http://twitter.com/username, o dentro de la representación interna de
servicio a su perfil de autor, lo que debería contener un enlace a usuario de
Twitter de la página de perfil. El autor de nombre de usuario debe ser de estilo
diferente que el texto Tweet y enlaces (en negrita, color, tamaño o en la
convención tipográfica de otro tipo), y no debe ser precedido por un símbolo @.
2. (p   : Menciones de otros nombres de usuario de Twitter debe enlazar
con la página de perfil en http://twitter.com/username o dentro de la
representación interna de servicio a su perfil de usuario, lo que debería contener
un enlace a usuario de Twitter de la página de perfil.
3. )* : Si alguno hashtags ('#' seguido por una cadena de caracteres) se
mencionan en el Tweet, que debe enlazar con una página de resultados de
búsqueda twitter.com para ese término de consulta o una representación interna
de los resultados que contiene un enlace a la Twitter página de búsqueda.
4. +,: Si las URL están incluidas en el Tweet, deben ser hipervínculo y el
hipervínculo debe vincular a la ubicación pasa a través de la API.URL de
hipervínculo se muestra cuando mejor visualmente diferenciado (colores o
subrayado).
5. -  : Si un Tweet se muestra de forma independiente, debe ser etiquetado
ya sea con el logotipo de Twitter o "T" marca, o con la lectura del texto "El
contenido de Twitter." Si se agrupan múltiples tweets, el logotipo de Twitter o
"Contenido de Twitter" debe ser colocado en una proximidad cercana a los
contenidos agrupados.
6. p
-: Si muestra una caja para que los usuarios de Tweet: "¿Qué está
pasando?" se debe escribir sobre el campo de texto. Este cuadro de Tweet
también debe estar bien cerca de tweets que incluyan el logotipo de Twitter, o el
logo de Twitter debe estar presente dentro de la caja.
a. p : el botón se debe mostrar y etiquetados como "Tweet" si
el contenido es publicado exclusivamente a Twitter, o "Actualizar" si la
dirección a otros servicios además de Twitter.
b. ,p pp#: un recuento de caracteres ayuda a los
usuarios una cuenta atrás para permanecer dentro de 140 caracteres

SUGERENCIAS
,p   p p   ppp ppp p
 $p+pp  ppp ppp #ppp pp
pp  p.p  ppp  $p p  p pp#p
 p p   ppp  pp   /
? p.p   : Mostramos el avatar del usuario en el lado izquierdo de la
Tweet. Resto de contenido Tweet está alineado a la izquierda, inmediatamente a la
derecha del avatar. El avatar vínculos usuario de Twitter en la página del perfil
de http://twitter.com/username.
?   p.p%  0: Esta información puede ser mostrado o el relativo, por
ejemplo, "2 minutos", o absoluta, por ejemplo, "8:45 de la mañana, 08 de julio"). La
marca de tiempo debe estar en su propia línea después del texto y con un estilo
diferente Tweet a ser menos prominente que el texto Tweet (color más claro y / o
menor tamaño). La marca de tiempo debe estar ligado a la página alojada permalink
Twitter para el individuo Tweet.
?
: tweets publicados por cuenta de un contribuyente debe atribuirse a que
el usuario de edición. La atribución debe consistir en contribuyente el nombre de
usuario vinculada a la cuenta del contribuyente (por
ejemplo, http://twitter.com/username) o dentro de la representación interna de su
servicio de contribuyente del perfil del.
?  : Junto con la marca de tiempo y enlace permanente, usted puede optar por
mostrar el cliente o el medio por el cual se envió el Tweet (por ejemplo, "from web" o
"from web"). Si el cliente se suministra, por favor asegúrese de que lo vincula a la URL
de la página de que la fuente.
? %1p 2 : Si muestra tweets varios a la vez, pueden ser visualmente separados
por líneas horizontales, espacios vacíos, o color de fondo alternativo. El espacio vacío
debe ser proporcional a la altura total de la propia Tweet.
? %1p 2 p p: Encontramos que al mostrar tweets de múltiples del mismo
usuario, se ve mejor si la foto de perfil no se repite con cada Tweet. Mostrando un
avatar con el contenido del mismo usuario proporciona una experiencia más simple.
? D p  : Por lo general, tiene sentido para los tweets que pueden
ordenarse en orden cronológico inverso (el último primero), pero entendemos que esto
siempre puede no ser la forma más pertinente para organizar Tweets. Cuando
aparecen en una búsqueda u otros criterios (palabras clave, usuarios, o editoriales
otras limitaciones) tweets pueden ser ordenadas por los criterios.
? ^ p p  pp : Si el nombre completo aparecerá junto al nombre de
usuario de Twitter, el nombre de usuario de Twitter se debe examinar visualmente
diferenciado (por ejemplo, el color o negrita) y más prominente.
?  pp2: La información se convierte más detectable cuando una
búsqueda vínculos plazo a una búsqueda de Twitter página de resultados. Si usted
tiene un producto que devuelve resultados de búsqueda para píos, se recomienda que
los vínculos plazo de vuelta a la página de búsqueda de referencia en Twitter.

c      


 ! 
Las siguientes pautas generales para el uso de los Elementos de marca Twitter se
aplicarán con independencia de la solicitud, salvo acuerdo en contrario por el Twitter por
escrito (que puede ser por correo electrónico).
? ,p   . Las palabras incorporadas en la marca siempre debe ser claramente
legibles, independientemente del proceso de impresión utilizado.
?  p . Es importante que el logotipo tiene un espacio libre de un tercio del
tamaño del logotipo de la vuelta por todos lados. Así se mantiene la integridad del
logotipo y evita la congestión y la ilegibilidad.
?     p p3. Excepto según lo dispuesto en el Acuerdo, el Twitter de marca
Elementos no puede ser modificado o combinado con cualquier otra característica,
incluyendo pero no limitado a, otros logotipos, palabras, gráficos, fotos, imágenes,
lemas, números, características de diseño o símbolos. características individuales de la
marca Elementos Twitter no se puede utilizar como parte del diseño de cualquier otro
producto, el empaque del producto, la documentación o la publicidad.
? ^   pp. El uso de la Marca Elementos Twitter debe ser veraz, justo, y no
menosprecian al Twitter o sus productos y no puede crear una sensación de respaldo,
patrocinio, o falsa asociación con Twitter Twitter o los productos, servicios o tecnología.
Para más información sobre cómo utilizar las marcas de Twitter,
véase http://help.twitter.com/forums/26257/entries/77641.
,p p pp  p:
Twitter Inc.
795 Folsom St., Sexto Piso,
San Francisco, CA 94103
Correo electrónico: trademarks@twitter.com
Introducción
Piar Con La localización es la próxima versión de la característica de etiquetado geográfico
de la API de Twitter. Ahora convertir lat / lon coordenadas en lugares reales (en particular,
los barrios y ciudades). Esto ayuda a proporcionar una experiencia más significativa para
los usuarios al hacer tweets más contextual. Por ejemplo, "Los fuegos artificiales!" es
mucho más relevante cuando se asocia con una ubicación: "Los fuegos artificiales!" desde
el barrio de SOMA en San Francisco, California. Esperamos con interés trabajar con el
ecosistema de desarrolladores para crear grandes experiencias en torno a esta
funcionalidad!
Privacidad del usuario y control del usuario de su información
Ubicación
Para garantizar una buena experiencia y seguro, los desarrolladores deben ser sensibles a
la privacidad del usuario cuando se trata de su ubicación, así como garantizar la
coherencia en la línea de base "twitteando con ubicación" experiencia. Éstos son algunos
puntos clave a tener en cuenta que ayudan a proteger la privacidad del usuario y asegurar
que los usuarios entender el impacto de sus acciones:
Directrices Generales
? Los usuarios deben opt-in para utilizar el piar Con la función de localización (ubicación
de "encender").
? Usuario debe dar permiso explícito para su ubicación exacta para que se muestre con
sus tweets. Si la función de ubicación de su cliente es "pegajoso" - es decir, una vez
que la localización es activada, es siempre de difusión, el nivel predeterminado
recomendado es para mostrar place_ids y sólo permiten a los usuarios a optar más
exacta para lat / lon en función de cada Tweet o como un escenario alternativo
específico. Si tiene una implementación existente de que sólo tiene las coordenadas
latitud muestra / lon, debe asegurarse de que los nuevos usuarios entienden que su
ubicación exacta se añadirá a tweets.
? Debe quedar claro a los usuarios qué nivel de información sobre la ubicación, en su
caso, se mostrará en asociación con sus pío. Una manera de hacerlo es mostrando un
mapa de cómo esta información se mostrará ante el tweet de su publicación. Si latitud
exacta / lon es parte de la información publicada por el usuario en el cliente, debe
quedar claro para el usuario que sus coordenadas exactas serán publicados.
? Los usuarios deben ser capaces de cargar o cambiar su ubicación antes de Twitter.
? Los usuarios deben ser capaces de limpiar su lugar en cada tweet.
Ejemplos específicos
Ejemplo 1:  
   
   

O    
 
1. Mostrar un enlace a "tu lugar" cuando un usuario compone un Tweet
2. En el fondo, utiliza el Twitter reverse_geocode llamada a la API y pasar la
latitud, longitud, precisión de su revisión, y han preferido granularidad el usuario
(que, por defecto, es "barrio");
3. Muestra el nombre del lugar por defecto (Twitter intentará ordenar estos de una
manera que tiene sentido - el orden es tal que un cliente de Twitter sólo puede
mostrar la lista sin necesidad de modificación);
4. Permitir al usuario seleccionar una ubicación diferente de la lista (por ejemplo el
cambio de "SoMa, San Francisco" en "South Beach, San Francisco").
5. '  : Ser transparente con el usuario si va a mostrar información de
ubicación exacta. Dar al usuario la opción de optar por no mostrar lat exacta /
lon coordenadas; Asegúrese de que esta es explícito para que el usuario sepa si
la información de ubicación exacta en la pantalla.
6. Permitir que el usuario a la ubicación claro en cada Tweet.
Ejemplo 2: [
   
     
 
Una serie de aplicaciones cliente de Twitter tienen la característica de etiquetado
geográfico original (que sólo transmiten lat / Lons sin proporcionar place_IDs) aplicado. El
comportamiento por defecto de la API imita este comportamiento - es decir, como un
desarrollador, no necesita realizar ningún cambio en su aplicación existentes con el fin de
mantener el comportamiento que existe hoy. De hecho, si se limitan a transmitir una latitud
y longitud en coordenadas de Twitter, Twitter invertirá automáticamente códigos
geográficos que lat / lon y mostrar el place_ID para aquellas superficies que tenemos datos
disponibles.
La clave desde la perspectiva de la privacidad del usuario es asegurarse de que es
transparente para los usuarios que sus coordenadas exactas se están utilizando y se
muestra en Twitter. Una buena práctica para las aplicaciones existentes sería permitir a los
usuarios "claras" sus coordenadas exactas para cada tweet, así como optar por mostrar
place_IDs solamente en vez de las coordenadas exactas en su defecto, "pegajoso" de
ajuste.

Twitter de almacenamiento de datos de localización del usuario


Twitter almacenará los datos transmitidos por el cliente de la siguiente manera:
? Twitter se guardar todos los datos que el usuario decida presentar públicamente a sus
seguidores. Esto es similar a la forma en Twitter tiendas de la marca de tiempo que
indique la fecha Tweet se hizo, es decir, si un usuario con tweets sus coordenadas
exactas, Twitter almacenará esta ubicación exacta junto con el Tweet durante el tiempo
que el Tweet existe (o hasta que haga clic el "borrar mi historial de ubicación" botón en
la página de configuración como se describe aquí.)
? Si un usuario enciende tweeting con la ubicación, pero opta por no incluir las
coordenadas exactas en un Tweet, Twitter no se mostrará esta información a sus
seguidores. Si bien Twitter no se mostrará esta información en línea de tiempo de un
usuario, se pueden almacenar temporalmente los puntos exactos para seis meses.
Resumen
La adición de ubicación a un tweet añade una enorme cantidad de contexto y el valor
desde la perspectiva del usuario. Sin embargo, las implementaciones de la ubicación de su
cliente debe tener cuidado de tener privacidad y la transparencia del usuario como un
factor clave en el diseño de un producto centrado en la localización.
Si usted tiene alguna pregunta o comentario acerca de la privacidad, la ubicación y otras
características geográficas, por favor escribaapi@twitter.com
p

Autenticación
? ¿Qué camino autorización debo elegir?
? Autenticación
? La transición de la autenticación básica para OAuth
? OAuth Bibliotecas
? OAuth FAQ
? Listado de "Entra con Twitter"

ß p p   pp 4p


Twitter es compatible con una pocas métodos de autenticación y con el paso de la
autenticación básica para OAuth usted puede preguntarse qué método debe utilizar. Al
elegir el método de autenticación para que utilice debe entender la forma en que afectará a
su método de experiencia de los usuarios y la forma de escribir su aplicación.
Algunos de ustedes ya saben qué tipo de método de autenticación que desea utilizar y
queremos ayudarle a comprobar que ha tomado la decisión correcta.

" 
Muchos desarrolladores tienen problemas para pasar de la autenticación básica para
OAuth.
Ver La transición de la autenticación básica para OAuth para una visión general del
proceso de conversión.
API REST
Aplicaciones Web
Estar basado en navegador, una aplicación web o servicio es capaz de utilizar la web
completas basadas en proceso OAuth lo que significa que el usuario tiene la más suave de
los métodos de autenticación.
Para autenticar la aplicación web de Twitter que  utilizar OAuth. Las solicitudes para
utilizar XAuth será rechazada.
aplicaciones web a menudo el apoyo de varios usuarios por lo que es importante manejar
la asociación de fichas OAuth a las identidades de usuario cuidadosamente. La manera de
hacer esto dependerá de su aplicación y la configuración.
Tercera Parte Aplicación
Las aplicaciones de terceros tales como Twitpic y Yfrogtambién utilizará OAuth para
comunicarse con la API de Twitter. Para el desarrollador cualquiera que desee incorporar u
ofrecer un servicio similar a estas aplicaciones se presentan algunos desafíos.
Convenientemente hay una manera de delegar de forma segura las solicitudes de la API
de Twitter en una aplicación y nombre usuarios conocido como OAuth Echo.
OAuth Echo le permite preparar una solicitud de OAuth y luego lo enviará al servicio de
terceros que, después de concluir las operaciones que tienen que hacer, p su
petición OAuth a la API de Twitter.
Escritorio y móviles Aplicaciones
Móviles y aplicaciones de escritorio son más a menudo las aplicaciones de usuario único,
como las secuencias de comandos de línea de comandos y aplicaciones en un
teléfono. Para estas aplicaciones puede ser difícil de manejar una URL de devolución de
llamada si no imposible.
Si usted puede manejar una devolución de llamada en su aplicación se recomienda
encarecidamente el uso OAuthpara autorizar a los usuarios. Si no usted debe
considerarOut-of-band/PIN código de autenticación
Out-of-band/PIN código de autenticación
Para las aplicaciones que realmente no puede manejar el proceso completo de Twitter
OAuth proporciona el código out-of-band/PIN modo de autenticación, también conocido
como .
Este flujo de autenticación es casi idéntico al OAuth completo excepto que en lugar de
dirigirse a su sitio web el usuario se presenta con un código PIN. Al usuario se le pedirá
que escriba el código PIN en la solicitud que después de este paso el intercambio
simbólico.
En el de flujo total OAuth este proceso manual es realizado por la dirección de devolución
de llamada y de forma transparente para el usuario final.
Autenticación XAuth
La forma menos deseada para autenticarse con Twitter es5 *. Este método sólo está
disponible para aplicaciones móviles o de escritorio y tiene que pedir permiso para
usarlo.Además, para evitar confusiones es necesario tener claro que xauth para Twitter no
es el mismo que el XAuth (nota el cambio en la carta de caso).
Es importante entender que *p pD *. La única diferencia es que usted no tome
la request_token yautorizar los pasos del flujo de OAuth.
xauth no es un simple reemplazo para la autenticación básica y sigue necesitando de que
sabe cómo firmar su solicitud.
Si aún desea utilizar xauth se puede leer más acerca de cómo solicitar el acceso y realizar
llamadas XAuth en nuestrouso de XAuth página.
API de búsqueda
La búsqueda de la API no requiere autenticación.
Streaming API
El streaming API soporta tanto la autenticación básica y OAuth. Por el momento no hay
fecha en la que la autenticación básica se apagará para el streaming de la API por lo que
son libres de elegir el método que desee.
Si usted tiene acceso a la cuenta que desea utilizar con la API y desea utilizar OAuth usted
puede encontrar el acceso a las fichas de streaming que necesita bajo p pp
 de su página de configuración de la aplicación en sus cuentas aplicaciones de
Twitter.
p

Información general
Para utilizar la API de Twitter, lo primero que tienes que hacer es registrar una aplicación
de cliente. Cada aplicación de cliente se registre se suministrarán una clave de los
consumidores y secreto. Este esquema de clave secreta y es similar a la privada y las
claves públicas utilizadas en protocolos como `` para aquellos que están
familiarizados. Esta clave secreta y se utilizará, junto con una colección de OAuth en su
lenguaje de programación que elijan, a À
 todas las solicitudes que realice en la
API. Es a través de este proceso de firma que confiamos en que el tráfico que se identifica
es que es en realidad usted.
Al 30 de junio de 2010, autoridades de base (pasando directamente un nombre de usuario
y contraseña para todas las solicitudes de la API) ya no serán admitidos. Las aplicaciones
web son alentados a utilizar plenamente OAuth para autenticar usuarios y actuar en su
nombre. De escritorio y aplicaciones móviles son animados a usar OAuth. Móviles y
aplicaciones de escritorio también se les da la oportunidad de utilizarXAuth, un medio para
el intercambio de un inicio de sesión y contraseña de un testigo de acceso. Para utilizar
XAuth, envíe una solicitud aapi@twitter.com con un montón de detalles acerca de su
solicitud y por qué XAuth es la mejor opción para él.
Para las aplicaciones de usuario con los casos de uso-single, ahora ofrecemos la
capacidad de emitir un token de acceso para su cuenta propia (y sus propias
aplicaciones). Puede generar estas claves de su solicitud de información páginas. Obtenga
más información sobre el uso de un token de acceso único.
Esta página está en construcción. Lo siento por ser todos los pre-web 1.0 en ustedes, la
gente.
? El registro de una aplicación
? Introducción a la OAuth
m OAuth en Twitter
m Pide Firma
m La adquisición de una solicitud de token
m Envío al usuario a la autorización
m El intercambio de una solicitud de token para un token de acceso
m Usando el modo de out-of-band/PIN código para escritorio y aplicaciones móviles
? Hacer una solicitud de recursos en nombre de un usuario
? Con xauth para adquirir fichas de acceso
? El uso de un token de acceso único
? Un Glosario OAuth
? Solución de problemas
? OAuth bibliotecas y otros recursos
El registro de una aplicación
Crear una aplicación de la aplicaciones cliente página. Es muy rápida y fácil de hacer. El
registro de su aplicación nos permite identificar su aplicación. Recuerde que nunca revelan
sus secretos de los consumidores.
Al crear una aplicación, se le preguntó si su solicitud es un   o de  de la
aplicación. Las aplicaciones de escritorio no es necesario introducir una dirección URL de
devolución de llamada. De hecho, las aplicaciones web no es necesario suministrar una
dirección de devolución de llamada tampoco. Una mejor práctica es siempre nos envíe
un oauth_callback_url en cada petición que paso simbólico, declarar explícitamente lo que
quiere la devolución de llamada a ser. En caso de que desea invocar lo que se llama el
PIN / de banda de flujo hacia fuera, usted se sirva un oauth_callback_url de
"oob". Consulte esta sección para más información sobre el flujo de código PIN.

Introducción a la OAuth
O itt 
      
tili l t ti i  i t  
    
t   A t   l t ti

i . P 
 t   
 i f  i    A t ,       l l  t  l  í   i  , 
t   t i  Sli S   .
A t ti
 i    A t  
 f
 il i tili  i li t     l  j

   i  f it .
 

El i l  ti i  A t      :

?     
   li it  t  
 
? S li it 
 t i i    i  i t l í  l   i   
 i 
  O itt . 
?   i
  l  li it  t      t    
El fl j
  í li   t l tili    li i   it i   l    ll  l fl j

PI    l  
 
 i l    i   i t l i t   i  t .
i i i
      

E t i   il  t    :

 
A t f          i    t   t ti i  A t :  
  lt,  l    OOP. S   i     tili l f     ,
  l       l    i       l i    
 f
 il  

t .

A t O itt
OAuth puede ser confuso porque hay algunas variantes diferentes sobre cómo
funciona. Aquí hay una comida para llevar algunos detalles importantes del equipo:
? +  p ppD * - OAuth prevé significa pasar parámetros
relacionados con OAuth en una cadena de consulta o que les proporcione una
autorización de cabecera HTTP. Twitter prefiere basada en autenticación de cabecera
porque separa las preocupaciones, hace que la depuración más fácil, y evita los
problemas habituales de bajo o más URL escapar parámetros. OAuth mayoría de las
bibliotecas le permiten elegir qué tipo de OAuth está ejecutando. Vaya por el oro. Ir de
cabecera con sede OAuth.
? +p,pp6pD *p6p p p7 - para todos los pasos de la danza como
OAuth request_token, access_token, y autorizar, utiliza SSL
?  $ $ p - para todos tus pasos OAuth, utilice api.twitter.com como el
nombre de host, no sólo "twitter.com"
?   pp p*80p1  - Se recomienda que especifique un OAuth
de devolución de llamada por defecto en su registro de cliente, pero declaran
explícitamente su oauth_callback en cada solicitud token buscar solicitar su aplicación
hace. Al establecer su dinámica oauth_callback, se puede pasar información de estado
adicional de nuevo a su aplicación y control de la mejor experiencia. Si se utiliza el flujo
del código PIN, especifique su oauth_callback como "fuera de banda".

Pide Firma
Todas las peticiones OAuth 1.0A utilizan el mismo algoritmo de base para la creación de
una cadena de base de la firma y una firma.
La cadena de base de la firma es a menudo la parte más difícil de OAuth para los recién
llegados para construir. La cadena de base de la firma está compuesta por el método
HTTP utilizado, seguido de un signo ("&") y luego la codificación URL base-URL que se
accede, con ruta de acceso (pero no los parámetros de consulta), seguido de un signo ("&
"). Luego, se toma todos los parámetros de consulta y el cuerpo parámetros POST
(cuando el cuerpo es de la POST con codificación tipo de dirección URL, de lo contrario el
cuerpo es ignorado POST), incluidos los parámetros OAuth necesaria para una
negociación con la solicitud que nos ocupa, y clasificarlos en lexicográfico Para primero y
luego el nombre del parámetro por parámetro de valor (por duplicado parámetros), al
mismo tiempo garantizar que la clave y el valor de cada parámetro URL codificada de
forma aislada. En lugar de utilizar el signo igual ("=") para marcar la clave / valor de la
relación, se utiliza la forma codificada URL de 3D "%". Cada parámetro es tarde la URL
con caracteres de escape signo signo "% 26".
Este algoritmo se expresa simplemente en el pseudo-código:
pp pp
p p p p p  p  
 p ppp
pp pp p  ! p p pp"p !p#$ p
ppppppp

No importa qué tipo de OAuth 1,0 solicitud que está haciendo, las normas para la
generación de la cadena de base de la firma se mantienen constantes.
Twitter requiere que todas las solicitudes OAuth se firme utilizando el algoritmo HMAC-
SHA1.

La adquisición de una solicitud de token


El primer paso para autenticar a un usuario es la obtención de una solicitud de token de
Twitter. Este paso sirve para dos propósitos: Primero, para decir lo que Twitter está a
punto de hacer. En segundo lugar, decirle a Twitter lo que quiere hacer por la devolución
de llamada OAuth.
Twitter es el punto final de la solicitud es el paso
simbólico http://api.twitter.com/oauth/request_token .
Debe utilizar el PO` método HTTP cuando se utiliza este punto final. SSL es
recomendable.
Vamos a realizar una petición de solicitud de token utilizando HTTPS, POST, las
siguientes variables y el secreto de los consumidores
"MCD8BKwGdgPHvAuvgvz4EQpqDAtx89grbuNMRd7Eh98":
? oauth_callback-
http://localhost:3005/the_dance/process_callback?service_provider_id=11
? oauth_consumer_key- GDdmIQH6jhtmLUypg82g
? oauth_nonce- QP70eNmVz8jvdPevU3oJD2AfF7R7odC2XJcn4XlZJqk
? oauth_signature_method- HMAC-SHA1
? oauth_timestamp- 1272323042
? oauth_version- 1,0
En primer lugar, clasificar todos los parámetros utilizados en nuestra solicitud y formular
una cadena de base de la firma. Tenga en cuenta que mi oauth_callback tiene parámetros
de consulta en la URL. Debido a que los parámetros de consulta son parte de la dirección
de devolución de llamada, que no se clasifican junto con los otros parámetros en la
solicitud. En cambio, la dirección URL es una URL codificada y consideró una sola
cadena. Esto se basa la cadena de la firma de bases siguientes:
0 p
p!p%!p#&!!!p#&' p#& p#&  p!p
  !p#(%!p#(#&p p#(#&  !!!p#(%))(!p#(#&p
#(#&  !p#(&   !p#( **!p#$   
p
 + ,-$./0
12#1!!!!p#$ p
 -0)3452.00" #%6&7#8"98 :"p#$ 1 !p %7;
%*!!p#$ p *###)9#!p#$  !p *)p
ppppp

Dado que esta solicitud no tiene un oauth_token o oauth_token_secret, no figurará un


campo oauth_token en nuestra cadena de base y no usamos un oauth_token_secret la
hora de calcular la clave de firma compuesto. Nuestra clave es la firma (nótese el signo
colgando al final):
7 2<='+10% 159>- %?2@1  3>@2pp
ppppp

Después se utiliza la firma clave compuesta para crear un oauth_signature de la cadena


de base de la firma mediante la firma de la cadena de base con la clave de firma
compuesto. El oauth_signature resultante es:
2'0(&-
$'7 61<p p-pAp
ppppp

Ahora que tenemos nuestra firma, tenemos todo lo necesario para realizar la solicitud al
extremo https: / / api.twitter.com / OAuth / request_token . Ahora sólo generan una cabecera HTTP
llamada "autorización" con los correspondientes parámetros OAuth de la solicitud:
% p pAp -0)3452.00" #%6&7#8"98 :" p  p
Ap !p%!p#&!p%))(p#&  !!!p#&p#&  !p **!p
&    p 1 pAp p%7;%*p pAp
*###)9# p   
pAp + ,-$./0
12#1 p 1 pAp !p
2'0(&-
$'7 61<p#<-!p p  pAp *) p
ppppp

Cuando recibe nuestra solicitud Twitter.com, responderá con


una oauth_token, oauth_token_secret (colectivamente, la "solicitud de token"), y un campo
llamado oauth_callback_confirmed que tendrá el valor de "true" si se comprende su devolución
de llamada OAuth. La respuesta a esta petición particular, habría parecido:
 p2 ,:
?-4 &:8& :(%'.$5"B /- )C0>BCpAppAp  p
?$ >C@"-90-444+2:/0>?$%) 1' %p
p  6 p pAp
ppppp

Ahora vamos a almacenar la oauth_token oauth_token_secret y por un corto período que


nosotros enviamos al usuario de que el servidor de autenticación. Vamos a necesitar esta
oauth_token oauth_token_secret y hasta los hemos cambiado por un token de
acceso. Apóyese en ellos.

Envío al usuario a la autorización


Esta es la parte más fácil del flujo estándar OAuth. Desde el paso anterior, usted
necesitará solamente su oauth_token (la solicitud de token) para completar.
El paso es autorizar a donde enviar al usuario a una página en Twitter.com que les permita
la concesión de sus privilegios de aplicación para que utilice su cuenta con la
API. Normalmente, una aplicación web simplemente usará un redireccionamiento para
enviar al usuario a la ubicación. Una aplicación de escritorio en el mismo podría presentar
la dirección y pedir al usuario a la libre navegación en el destino.
El punto final de la url autorización es https: / / api.twitter.com / OAuth / autorizar . Debe tener un
parámetro de consulta única adjunto llamado
 ! " con el valor establecido en el
oauth_token que recibió en la solicitud de paso simbólico. En el ejemplo anterior, el
oauth_token era "8ldIZyxQeVrFZXFOZH5tAwj6vzJYuLQpl0WUEYtWc". El uso de este
símbolo para generar una dirección URL de autorización en los resultados:
DEE' E E  5F A2 ,:
?-4 &:8& :(%'.$5"B /-
 )C0>BCp
ppppp

Si el usuario no ha iniciado sesión en Twitter recientemente, se le pedirá que introduzca


sus credenciales de la cuenta. De lo contrario, se le presentará con un flujo aerodinámico
que permite con un solo clic de autorización para su aplicación. Una vez que el usuario
tiene acceso, el control será devuelto a su solicitud de redirigir al usuario a su
oauth_callback especificado. Si está utilizando una aplicación de escritorio y la salida de
flujo de banda, el usuario en lugar se presentará con un código PIN que se le pedirá que
introduzca en su aplicación. Vamos a ver cómo el código PIN se utiliza en el próximo paso.
Si está utilizando el flujo de devolución de llamada, su oauth_callback debería haber
recibido de vuelta a su oauth_token (el mismo que le envió, su "solicitud de token") y un
campo llamado oauth_verifier. Usted lo necesitará para el siguiente paso.
Aquí está la respuesta que recibí:
 p2 ,:
?-4 &:8& :(%'.$5"B /- )C0>BCpAppAp  6 p
 31( #(36( 4$" *%"", BBp
ppppp

El intercambio de una solicitud de token para un token de acceso


¡Menos mal! Ya casi estamos consiguiendo hacer todo lo que necesitamos para hacer
realidad las peticiones de la API en nombre de un usuario. Todas las cosas buenas que ha
sucedido: usted ya ha empezado el baile al pedir una solicitud de token. Usted ha enviado
el usuario para autorizar y entonces todo lo que pasó, pasó ... Ahora necesita un testigo de
acceso para continuar. Usted necesitará su solicitud de fichas (oauth_token y
oauth_token_secret) y oauth_verifier de los últimos pasos.
testigo de acceso del punto final Twitter es https: / / api.twitter.com / OAuth / access_token
Aquí están todos los parámetros que se van a ir a nuestra solicitud para el intercambio de
acceso token:
? oauth_consumer_key- GDdmIQH6jhtmLUypg82g
? oauth_nonce- 9zWH6qe0qG7Lc1telCn7FhUbLyVdjEaL3MO5uHxn8
? oauth_signature_method- HMAC-SHA1
? oauth_token- 8ldIZyxQeVrFZXFOZH5tAwj6vzJYuLQpl0WUEYtWc
? oauth_timestamp- 1272323047
? oauth_verifier- pDNg57prOHapMbhv25RNf75lVRd6JDsni1AJJIDYoTY
? oauth_version- 1,0
Y aunque sólo se utiliza en la parte de firma de la solicitud, nuestro oauth_token_secret
siguex6qpRnlEmW9JbQn4PQVVeVG8ZLPEx6A0OebgwcuA.
Vamos a realizar otra llamada SSL utilizando POST. Primero preparamos nuestra cadena
de base de la firma:
0 p
p!p%!p#&!!!p#&' p#& p#&p!!p
   
p + ,-$./0
12#1p#$ !!!p
 @5C$)+/* 7&0/
4.>/ ( ?2p#$ 1 p %7;
%*!!!!p#$ p *###)9p#$ !p
 2 ,:
?-4 &:8& :(%'.$5"B /- )C0>BCp#$  6 !p *)p
  31( #(36( 4$" *%"", BB!!p#$  p
ppppp

Creamos una clave de firma compuesto utilizando nuestros dos oauth_consumer_secret y


nuestra oauth_token_secret (solicitud secreto token) por unirse a ellos con un signo:
7 2<='+10% 159>- %?2@1  3>@2p
p
?$ >C@"-90-444+2:/0>?$%) 1' %p
ppppp

Luego de firmar nuestra petición, con la resultante firma OAuth:


00'E%96 "B$8(,0E)67pAp
ppppp

Ahora que tenemos nuestra oauth_signature, estamos listos para enviar el POST a
Twitter.com, por lo que creemos nuestro encabezado de autorización HTTP utilizando de
nuevo las correspondientes parámetros OAuth, incluido el oauth_token (token petición)
estamos intercambio con tokens de acceso. Sus peticiones de recursos se va a parecer
muy similar a esta.
 p % pAp @5C$)+/* 7&0/
4.>/ ( ?2 p
 1 pAp p%7;%*p pAp *###)9 p
   
pAp + ,-$./0
12#1 p pAp
2 ,:
?-4 &:8& :(%'.$5"B /- )C0>BC p  6 pAp
 31( #(36( 4$" *%"", BB p 1 pAp !p !p00Cp
#&%96 "B$8(,0p#&)67! pp  pAp *) p
ppppp

Cuando esto termine apretón de manos, Twitter responderá con más parámetros de
codificación URL, incluyendo el nombre de pantalla y el identificador de usuario que acaba
de autorizar, y una oauth_token y oauth_token_secret (colectivamente, el "testigo de
acceso"). Usted desea almacenar estos distancia. Puede utilizar un token de acceso hasta
que el miembro corta la conexión.
La respuesta en este ejemplo es:
 pAp2*@@;"?2B0 
54= 1/8$>( 9+"7# C'p  p
pApp  pAp"$5?&6%@/6)'#9<B8 (,*B2>6<%p2*@@ppAp p
p
ppppp

Ahora voy a utilizar este token de acceso para enviar una situación en Twitter.com.

Hacer una solicitud de recursos en nombre de un usuario


Así que ahora vamos a hacer un tweet. Vamos a utilizar el oauth_token y
oauth_token_secret desde el último paso y manda un tweet con algunos caracteres
especiales para hacer las cosas más complicado para usted.
Esto es lo que vamos a Tweet: "p  pp p pi  "
Esto utiliza caracteres UTF-8 a Tweet en Inglés y Japonés.
Mientras se enviaba este tweet, utilizamos el recurso
URL http://api.twitter.com/1/s tatuses/update.json y el método POST. Aquí están los relacionados
con params OAuth voy a utilizar y actualizar el estado real de la:
? PO` cuerpo- = ajuste de estado + hasta + + + mi twitter i    
? oauth_consumer_key- GDdmIQH6jhtmLUypg82g
? oauth_nonce- oElnnMTQIZvqvlfXM56aBLAf5noGD0AQR3Fmi7Q6Y
? oauth_signature_method- HMAC-SHA1
? oauth_token- 819797-Jxq8aYUDRmykzVKrgoLhXSq67TEa5ruc4GJC2rWimw
? oauth_timestamp- 1272325550
? oauth_version- 1,0
Y ahora, la experiencia de déjà vu. Vas a crear una cadena de base de la firma, siguiendo
todas las reglas de antes - con excepción, estamos usando caracteres UTF-8 aquí y
necesidad de adminis-URL-las codifican. Mi cadena base será la siguiente:
0 p
p!p%!p#&!p#&*!p#&' !!p!p#& p#& .p
   
!p + ,-$./0
12#1p#$ p
 > -,: 68($</%6(+ )%-&-$B!!!!p#$ 1 p %7!;
%*!p#$ !p *###((()p#$ p 2*@@;
"?2B0 
54= 1/8$>( 9+"7# C'p#$  !!!!p *)p#$ p
 1p#(#) !!!p#(#)
p#(#)' !p#(#)!p#(>!p#(%!p#(2*!p#(2*!p#(>!p#(%>!p
#(>!p#(2*!p#(@(!p#(2*!p#(>!p#(22!p#(2*!p#(>!p#(@!p#(>!p#(2#!p#(2%!p#(>!p#(2#!p
#(@#!p#(>2!p#(%2!p#(% !p#(>(!p#(%>!p#(@!p#(>!p#(2*!p#(@@!p#(2#!p#(>!p#(2<p
ppppp

Ahora voy a crear una clave de firma compuesto utilizando tanto el


oauth_consumer_secret y el oauth_token_secret vinculada a mi testigo de acceso:
7 2<='+10% 159>- %?2@1  3>@2p
p
"$5?&6%@/6)'#9<B8 (,*B2>6<%p
ppppp

Y después de usar ese secreto para firmar mi cadena base, tengo la siguiente firma:

()B. .6.?8>C@ p p8)pAp
ppppp

Y ahora lo que necesito para crear mi cabecera HTTP de autorización, que por supuesto,
todos esos valores deben ser .. URL codificada
 p % pAp > -,: 68($</%6(+ )%-&-$B p
 1 pAp p%7;%*p pAp *###((() p
   
pAp + ,-$./0
12#1 p pAp 2*@@;
"?2B0 
54= 1/8$>( 9+"7# C' p 1 pAp !p

()B. .6.?8>C@ p#<8)!p p  pAp *) p
ppppp

Y yo que enviar POST al punto final y espero que todo funciona. En un tweet con éxito, mi
respuesta incluye la carga habitual de un tweet con éxito - el propio tweet:
 + Dp p   Dp p#$pp  p))))p#D9(D()p#)*) p
 
   Dp p   Dp6 p 1 Dp p 6  Dp Gp 6p
ApHp HpDEE'  p  pApHp 6 'pH Ip % p<  JpGEpIp  p
& p Dp6  p 
 p Dp  p 
p Dp  p
  p Dp p    p Dp6  p p D pK  p)pp 5p
))))p##D#D*@p#))p  p Lp D p/p  pKp    p%1p
p' p, p pp  p1 p Dp  p6p Dp
6  p 6 ?  p D p))))))p  p Kpp Dp6  p5p D p p
 p0J6p>>00p
p7Mp  p 6p Dp6  p 6    p D p
*$p  p p D pDEE
E('022p  p 6 1  1 p D p
DEE'1E 6 1  1E*@$(**(E6 .1p  p
 6  6   p D p))66p p  L Dp p& p7% p
6 '   Dp*##)p  6 1 Dp
DEE'1E 6 1E2$$2@(E5  .1 p
 6 1    Dp p  6      pDp )@ p
 1 Dp6 p 6   Dp*#(p   Dp  p  Dp

 p1 
p    Dp(p  Dp2*@@p 1 Dp  p
66 Dp;#22))p 6   Dp2@p p 6 1    Dp
)))))) p  
  Dp p   Dp p  Dp
*#@*#@99p ? Dp   pp' pHp @*pHp )$pHp )((pHp )92pHp
)(pHp )2pHp )@#pHp 2#pHp (@pHp )(@p )2pHp p
ppppp

Vamos a hablar cuando las cosas van mal en un momento ..

OAuth Glosario
? *8   - un identificador único para su solicitud, creado por usted. Twitter sólo
permitirá un nonce para ser utilizada una vez por su aplicación. Evita que reproducen
las solicitudes.
? *8   - un entero que representa el número de segundos que han
transcurrido desde la época Unix.
? *8   - una cadena enviada a usted en su devolución de llamada OAuth o
suministrado a un usuario en el flujo de autenticación, dependiendo de si está
utilizando fuera del modo de banda o no. Tiene la obligación de ser enviados sobre el
acceso paso simbólico.
?  pp pp  - En lugar de proporcionar una base URL de llamada en la
adquisición de una solicitud modo, "fuera de banda" se suministra. Una vez que el
usuario haya dado su Twitter credenciales de la cuenta, aunque se presenten con una
pantalla que contiene un código PIN y se le solicitará que introduzca el código en la
aplicación. La aplicación envía el PIN como
 !#À al acceso token paso para
completar el intercambio.
? p  p p - una cadena de montaje que se firme utilizando una clave de
firma para crear una firma. En OAuth 1.0A, la cadena de base de la firma se calcula
como:

? pp
p p p p p  p  
 p ppp
pp pp p  ! p p pp"p !p#$ p

ppppppppppp

parámetros de consulta, en este caso se incluyen tanto los parámetros de consulta


pasa al base_uri en la cadena de consulta o en post-codificados URL órganos, así
como todos los parámetros relevantes de OAuth pertinentes a la solicitud en
movimiento, ordenados en orden lexicográfico. Si varias teclas están presentes con
diferentes valores, deben ser ordenados por el primer valor. POST organismos que no
son del tipo de dirección URL codificada no se calculan como parte de la base de
cadena de firma OAuth.
? pp   - la cadena que se utiliza como la clave secreta "para firmar una
petición. En OAuth 1.0A, la clave de firma se calcula con el algoritmo simple siguiente:

? p   p p  p p p  ppp p

Algunas solicitudes implican un oauth_token_secret OAuth, y otros no. La clave de


firma siempre es la combinación de ambos y su consumer_secret oauth_token_secret
uno, separados por un signo. Cuando no hay oauth_token_secret, aún tiene que crear
una clave de firma compuesta que incluya el signo seguido de "nada".

La transición de la autenticación básica para OAuth no es simple para todos. Va desde una
perspectiva en enviar un nombre de usuario y contraseña con todos los API REST solicitud
que realice en uno en el que eres el primero que con una autorización del usuario, y luego
enviar las credenciales que identifican a la aplicación  el usuario en cada solicitud .

" 
Muchos desarrolladores tienen problemas con OAuth. Buscar temas OAuth ohacer una
pregunta en la lista de correo de desarrolladores nuestra si llegas a tener problemas.

,p   p p- p *p.pD *p


Si usted piensa de una solicitud de API como un sobre de correo estándar:
La autenticación básica
En p    p#  sólo es necesario proporcionar una dirección de retorno "(el
nombre de usuario y contraseña), y la dirección del destinatario (el recurso que está
accediendo a) - de vez en cuando relleno el sobre con algunos datos que es pertinente a la
solicitud de la API que están haciendo.
O
 !  "
t t t
# ! $ ! "  $ "
t  i %&l  i ' ( t. Eí
! ) 
t (it, & 
!* l !
&(  i tt +" t
t  " t ,líit  l i  t.
A  t  l  tti  i  i   l API  O itt
* .
? - li  i  lit  l  t l i l t 
* .
? - li  i  lit  i t l i l t    li it  
*
? Si i l t  l i, l li  i  lit   ii   
t   l i
*
? El i  ti i   i   li  i     tti  i 
.
 i ti   i t 
*
? El i  ti  i   tii  li  i     t   
.
    i t 
*
? - li  i  lit ti  iti   il t l   i t  O itt.
? il P /SO, l t   lt,  l 01-  l li it    
*
ifi   l i t l i l  ti i  i ili l li it 
? ti i  i     i
2
[ p   p  ppp  . E l ii i   i   t  
l it,   ll     ili i il  l
l it    l  il , l  t il  l i i l
 il      filt       lt. 3i      i
4
tili  l i  t     iti , l t il      it
ti  t  O itt.
A t  tti  i 
9:p          lj   t tf.
5 5
Si i tí l i i   l t i  l i   titi 6l    ,  itifi 
7 5
li it   l  t   l i   li  l li it  ? l li  i   
 t tj   l i. A ,   i    

 t
 t ti,  ii l t  l
t
f  i  l ti
5
f ti  l t i . 8 l  ,  t  l i il if i t l t
   .
A  t   tti  i  A t  l API  O itt
:
? 9 li  i  lit    it l     i  t 
: ; : :
? 9 li  i  lit l  ti  i    i  i   fi,   i,
tt : / / i.t itt.  / <A t /  ti
:
? 9 li  i  lit í  t        t l i  
li it   l    i  t 
? il P <SO, l t   lt,  l =>9  l li it    
it t   li it   lt  it ?l  t it     
ifi      t l lt  l li it   t li
:
iil  l t  l  i   fi
:
? Si i l t  l i, l li  i  lit ti f  i
? El i ti l tl    li  i    t       
:
ii l  ti i   i  l i t
:
? S li  i    ti  i  l   i t,  fi i tt
:
li   i  l   li i , l ti i ,     .
? ti i  i   f t   itifi  i    li it 
?l  t 
:
@  t  i  t,    l   l i i   <A t 
lt      it    l i    lí  i 
    i l l j   i  l    tili, 
 l   l ilit   l API  itf   j .
P  
A ití  l li it   l API  li  i ll  
Cualquier autenticación que requieren llamadas a la API que hace (como estados /
home_timeline, estados / menciona, estados / actualización, etc) deberán ser convertidos
al uso de OAuth. Mientras que usted podría optar por mover sólo a OAuth para las
operaciones que requieren autenticación de usuario, se recomienda que convertir todas
sus llamadas a la API a la utilización de OAuth para que su aplicación (y su nombre de
usuario) son siempre identificados en cada solicitud.
Elegir un OAuth o biblioteca Twitter OAuth, listo para su entorno de
programación
Mientras que usted podría ir a la molestia de la aplicación de todos los pormenores del
protocolo OAuth (y HMAC SHA1-) a ti mismo, no es recomendable. Consulte nuestra lista
de Bibliotecas OAuth y Bibliotecas Twitter para encontrar una biblioteca adecuada para
usted.
Si realmente desea crear su propia biblioteca le recomendamos que para construir una
aplicación que funciona utilizando las bibliotecas existentes primero. De esta manera,
cuando se hace rodar su propia solución tiene una aplicación de trabajo para comparar
con éxito en caso de que ningún problema.
Preparar a largo plazo de almacenamiento de tokens de acceso y los secretos
Sea cual sea su sistema de almacenamiento puede ser, usted tendrá que empezar a
almacenar una oauth_token y oauth_token_secret (en conjunto, un acceso "token") para cada
usuario de su aplicación. El oauth_token_secret se deben almacenar de forma
segura. Recuerde, usted será el acceso a estos valores para cada solicitud autenticada de
su uso hace a la API de Twitter, así que almacenan de forma que se escala en su base de
usuarios. Cuando usted está utilizando OAuth, usted debe dejar de almacenar contraseñas
para cualquiera de sus usuarios.
Elegir e implementar la autenticación de su patrón
Hemos reunido una mini-guía titulada "¿Qué camino autorización debería elegir?" que
presenta los distintos métodos de OAuth apoyamos para obtener la autorización de
usuarios - el proceso en el que un usuario otorga su permiso de fin de solicitud para actuar
en su nombre a través de un volvió testigo de acceso.
Si bien la aplicación del presente, tendrá que prepararse para una variedad de diferentes
tipos de OAuth firmado peticiones que son representativos de los otros tipos de llamadas
le toma.
Migra tus llamadas a la API a través de firmas OAuth
Ahora que ha preparado su aplicación OAuth, tendrás que pasar por todos los lugares en
su código en caso de que estás utilizando la autenticación básica y OAuth usar en su
lugar. Al igual que todas las partes del flujo de OAuth, esto es en gran medida el lenguaje y
dependen de la biblioteca. Algunos OAuth o bibliotecas Twitter se hará cargo de todos los
tornillos y tuercas de estos pasos para usted.
Solución de problemas
Hay más de algunas maneras para una solicitud de OAuth a ir mal. Estos son algunos
consejos para reducir la posibilidad de errores.
? Compruebe que está utilizando el método de derecho de solicitud HTTP. La mayoría de
los métodos en la API de Twitter requieren un POST o GET.
? Si va a generar su propia nonce (número que se usa una vez), asegúrese de incorporar
el tiempo y algún tipo de ID aleatorio. Para minimizar el riesgo de enfrentamientos entre
los distintos usos nonce de su aplicación es posible que desee también decidió
incorporar algo único a la máquina.
? Compruebe el orden de los parámetros que enviar la solicitud son los mismos que
estaban cuando se generó la firma OAuth.
? Asegúrese de que fecha y hora de su sistema está en sincronía con Twitter. Volvemos
la hora actual en una cabecera HTTP con todas las solicitudes.
Lecturas
? ¿Qué camino autorización debo elegir?
? La aplicación de Twitter OAuth
? OAuth Bibliotecas
? Twitter Bibliotecas
? Con xauth con Twitter OAuth
? El uso de un token de acceso único con Twitter OAuth
? Guía del principiante para OAuth
? OAuth 1.0A Especificaciones
?
Presentaciones sobre OAuth en SlideShare
? Demasiados secretos, pero nunca es suficiente: Twitter OAuth (de Pío 2010)
? En XAuth y mucho más en la WWDC 2010 Twitter Meetup
? Cómo evitar la pérdida de los pantalones con OAuth por Jesse Estancia
? OAuth: Zero to Hero - Si bien particular de OAuth aplicación LinkedIn, la mayoría de los
ejemplos son portables a la utilización de OAuth con la API de Twitter
p

OAuth Bibliotecas
Además de estas bibliotecas OAuth, es posible que desee comprobar hacia
fuera Bibliotecas Twitter más - tienen trabajo backends OAuth.También hay un índice de
bibliotecas proporcionados por el sitio OAuth.
Tabla de contenidos
? ActionScript / Flash
? C/C++
? Clojure
? . NET
? Erlang
? Java
? Javascript
? Objective-C/Cocoa & iPhone Programación
? Perl
? PHP
? Pitón
? Qt
? Rubí
? Scala
? OAuth Herramientas
No hemos intentado todos ellos. Si usted encuentra uno que no funciona, simplemente,
nos dejan saber.
ActionScript / Flash
? OAuth-as3 - Actionscript 3 biblioteca para implementaciones cliente OAuth, para su
uso en Flash, Flex y AIR.

C/C++
? libOAuth - "una colección de funciones de la aplicación de la C OAuth núcleo 1.0 Rev
A API estándar"

Clojure
? CLJ-OAuth - cliente y el servidor de biblioteca para OAuth Clojure

. NET
? OAuth-dot-net -. basado en la colección de red para clientes y proveedores, con
muchos ejemplos de uso
? DotNetOpenAuth - .net / ASP basado en la colección de clásicos para OAuth y
OpenID.
? TwitterVB - una colección de Twitter VB.net apoyar OAuth y xauth.

Erlang
? erlang-OAuth - basado OAuth biblioteca Erlang. Ver el ejemplo de información de uso.

Java
? Escribano - una colección extensible OAuth y madura para Java.
? OAuth-señal - una biblioteca de Java con el horno en apoyo Android. Algunas áreas de
cumplimiento de especificaciones cuestionable, pero en general muy compatible con la
API de Twitter.
? Twitter4J por Yamamoto Yusuke. Una de código abierto, mavenized y Google App
Engine segura Biblioteca de Java para la API de Twitter, publicado bajo la licencia
BSD.

Javascript
Javascript verdad es que no se debe utilizar para OAuth 1.0A con respecto a los sitios web
en los navegadores web. Lo ideal es que sólo vamos a usar Javascript para realizar
operaciones utilizando OAuth del lado del servidor.
? OAuth en Javascript

Objective-C/Cocoa & iPhone Programación


? XAuthTwitterEngine - Una colección de las bibliotecas en Objective-C para trabajar con
XAuth aplicación Twitter por @ aral
? OAuthCore - Proporciona una función simple de la firma de peticiones OAuth.
? MGTwitterEngine - la colección de Twitter con OAuth y apoyo xauth para Mac OS X y
el desarrollo del iPhone.
? MPOAuthConnection - "Con MPOAuthConnection, todo el trabajo de hablar con
proteger los servicios web se toma el cuidado de usted para que usted sólo tiene que
centrarse en la forma que desee utilizar los datos del servicio web remoto ofrece". Mac
OS y el iPhone de apoyo.
? Objective-C OAuth - una aplicación amigable Objetivo C-menos.

Perl
? Net:: OAuth - una colección de Perl para la interfaz OAuth.

PHP
? OAuth-php - Una biblioteca PHP generalmente fiables OAuth para los proveedores de
servicios ya los consumidores
? twitteroauth - @ abraham Twitter biblioteca OAuth para PHP

Pitón
? OAuth-python-twitter2 - python-twitter Combina y OAuth--twitter python para crear una
evolucionado OAuth Pokemon.
? python-oauth2 - (tenedor brosner) mantienen una biblioteca de Python para la
interconexión OAuth

Qt
? qOAuth - una interfaz Qt para OAuth. Es posible que tenga que hacer una mano de
retención para OAuth 1.0A apoyo.

Rubí
? OAuth Gema Rubí - una bien probada, fácilmente extensible biblioteca Ruby
adecuados para su uso en los carriles y de otra manera
? twitter_oauth - una colección de OAuth para Ruby construido específicamente para su
uso con Twitter.

Scala
? DataBinder Despacho - una colección de servicios HTTP para OAuth Scala con el
apoyo integrado

OAuth Herramientas
? OAuth Bailarina - Ruby on Rails una aplicación que se ejecuta en su propio
ordenador. Proporciona información de depuración detallada sobre todos los pasos de
la danza OAuth y le permite hacer la sintaxis de relieve las solicitudes de recursos
contra habilitado REST proveedor de cualquier OAuth
? Tutorial Interactivo de las solicitudes de firma - uno de los muchos grandes recursos
OAuth en Hueniverse.

La inclusión en la -  pD * no es un endoso o recomendación de estas


organizaciones en Twitter. Además, dicha inclusión no es la intención de implicar, directa o
indirectamente, que las organizaciones están de acuerdo o tienen alguna afiliación con
Twitter.

Listado de "Entra con Twitter"


Información general
"Entra con Twitter" es el modelo de autenticación que permite a los usuarios conectar su
cuenta de Twitter con los servicios de tercera parte-en tan sólo un clic. Utiliza OAuth y
aunque el flujo es muy similar, la dirección de autorización y de flujo de trabajo varía
ligeramente según se describe a continuación.
El flujo normal dicta que las aplicaciones envían señales a la solicitud de OAuth / autorizar en
la aplicación de Twitter de la especificación de OAuth. Para aprovechar la "Entra con
Twitter", las solicitudes deberán enviar fichas solicitud recibida en el oauth_token parámetro
para OAuth / autenticar su lugar.
El OAuth / autenticar método actúan de diversas formas, dependiendo del estado del usuario
y su interacción previa con la aplicación que llama:
1. Si el usuario se registra en twitter.com y ya ha aprobado la aplicación de
llamada, el usuario será inmediatamente autenticado y regresó a la dirección de
devolución de llamada.
2. Si el usuario no se registra en twitter.com y ya ha aprobado la aplicación de
llamada, el usuario se le solicitará que, twitter.com entrada será inmediatamente
autenticado y regresó a la dirección de devolución de llamada.
3. Si el usuario se registra en twitter.com y no se ha aprobado ya la aplicación que
llama, la autorización OAuth pronto será presentado.Autorizar a los usuarios a
continuación, será redirigido a la dirección de devolución de llamada.
4. Si el usuario no se registra en twitter.com y no se ha aprobado ya la aplicación
de llamada, el usuario se le pedirá que entrada, twitter.com continuación, se
presentará la autorización del sistema antes de redirigir a la dirección URL de
devolución de llamada.
Este comportamiento se explica en el siguiente diagrama de flujo:
Bt
O itt fi   li  i    tili  l i it t . Si i  f il
 i t   l   tt, tili  t t  t
if i fi  l i   ti l i i.
Sit  li     t i     i i .
   E til

E   E til
t i A ti    li  i li j t  t   t   t
 t    iti.

D
BA t CA p

  A t
BA t   t l   tti  i   it  l i   l li it 
  t    i ti t . E if i   
 t   t.t   l  lt F í l i iit  t BA t  G i .
     li  i
P     li  i  l iti   ll  O itt
 tt://.t itt. / / .
     tti  i  i 
HIIJ
G   i  i i  , l   i   tti  i  i . S
f   li  l ltf  t i t  - p; . A  i  fil 
KL L
j i  M    l  t  t <p p   p; .
P  i li it   i tili  tti  i  i 
P   i tili  tti  i  i   t l  í  i l f ,  l
     NA t . O  t l líit  f  i  l
PQL
tfi   NA t i.t itt.  t  li it   ,  l l l
 t l líit  l i  i  A t.
   ti i li it    tti  i  i   A t
R  i    i l l j   i  l ilit   
tili. V R t i i  l  tti  i  i   NA t  .
O i 
t ti    t ti      lti 
A t lt,  i t    . S t       li i l
i   lí itt l li  i   fi  i  i  ii t
 O itt  li  i. Si li  i  t i   t 
i  l li it  i i    i i.
 i  i t  li it    l t    it .   
 it 
S  i fí  li  i  l if i     it
i       t .A t li i  l if i  t  l
API  O itt    l , l i  i  l i i      t   i 
OOOP P NSO. T    l i   ti i  l li  i  l
 t. U l i t    i  API OOOP P NSO   i  t 
 it   l t    i      it .
p
API REST & General
? Recientemente Documentación actualizada
? estados / seguidores
Devuelve los seguidores del usuario que se autentica, cada uno con la situación actual
en línea. Están ordenadas por el orden en que hayan seguido el usuario, 100 a la
vez. (Tenga en cuenta que el conjunto de resultados no está garantizada al 100 cada
vez que los usuarios suspendidos se eliminará .)...

$
  %&  '  ()%)    


? estados / amigos
Devuelve los amigos de un usuario, cada uno con la situación actual en línea. Están
ordenadas por el orden en que el usuario los siguió, más recientemente, seguido
primero, 100 a la vez. (Tenga en cuenta que el conjunto de resultados no está
garantizada al 100 cada vez que los usuarios suspendidos se eliminará .)...

$
  %&  '  ()%)    


? estados / retweets_of_me
Devuelve el 20 tweets más recientes del usuario autenticado que se han retweeted por
otros.

$
  %*  '  ()%)    


? estados / retweeted_to_me
Devuelve el 20 retweets más reciente publicado por los usuarios el usuario que se
autentica seguir.

$
  %*  '  ()%)    


? estados / retweeted_by_me
Devuelve el 20 retweets más reciente publicado por el usuario que se autentica.

$
  %*  '  ()%)    


? estados / menciona
Devuelve el más reciente menciona 20 (estado que contiene @ nombre de usuario)
para el usuario que se autentica ....

$
  %*  '  ()%)    


? estados / friends_timeline
Devuelve el reciente 20 estados de la mayoría escritos por el usuario que se autentica y
el usuario que siguen. Esta es la misma línea de tiempo visto por un usuario cuando se
inicia sesión a twitter.com....

$
  %*  '  ()%)    


? estados / user_timeline
Devuelve el reciente 20 estados de la mayoría escritos por el usuario que se
autentica. También es posible solicitar la línea de tiempo del usuario utilizando la
otra screen_name o user_id parámetro. El plazo de otros usuarios sólo será visible si no
son protegidas, o si el usuario se autentica siga petición fue aceptada por el usuario
protegidas ....

$
  %*  '  ()%)    


? estados / home_timeline
Devuelve el reciente 20 estados más, incluyendo retweets si existen, escritos por el
usuario que se autentica y el usuario que siguen. Esta es la misma línea de tiempo
visto por un usuario cuando se inicia sesión a twitter.com....

$
  %*  '  ()%)    


? estados / public_timeline
Devuelve el 20 estados más recientes, incluyendo retweets si existen, de los usuarios
no protegidos ....

$
  %+  '  ()%)    



? Introducción a @ twitterapi

   
  
   


? Cosas que cada desarrollador debería saber

0) El contenido de las preguntas más frecuentes


Si usted está comenzando con la API, para familiarizarse con las preguntas más
frecuentes y saber que existe.
1) En realidad hay tres APIs
La API de Twitter se compone actualmente de dos APIs REST discreta y una API de
streaming. La mayoría de los desarrolladores de aplicaciones mezclar y hacer coincidir las
API para producir su aplicación. La separación de los demás y las API de búsqueda es
menos que ideal y se debe exclusivamente a la historia es en nuestra línea para mejorar la
API de Twitter mediante la combinación de la Búsqueda y piezas resto como los ciclos de
desarrollo lo permitan. La API general parte de la Introducción serie Cómo explica la
historia. El API proporciona-Streaming volumen de acceso de alta latencia baja para
Tweets.
£p+p pp*p p  p pp
  p   pp p  -
uso de la API es la tasa limitada. Además, se imponen límites sobre el número de
solicitudes de seguimiento, las actualizaciones y los mensajes directos que puedes hacer
en un solo día. Contamos con una cartilla que usted debe leer para aprender más.
3) El API es completamente basado en HTTP
Métodos para recuperar datos de el Twitter API requieren un R  petición. Los métodos
que presenten, cambiar o destruir los datos requieren un. A  solicitud se
admitan también para los métodos que destruyen datos. Métodos de API que requieren
una particular método HTTP devolverá un error si usted no hace su pedido con el método
correcto. HTTP Códigos de respuesta son significativos.
4) El API es un recurso REST
Con la excepción de la API de Streaming, el Twitter API intentos para ajustarse a los
principios de diseño de Representational State Transfer(REST). Simplemente cambia la
extensión de formato de una solicitud para obtener resultados en el formato de su
elección. La documentaciónseñala qué formatos están disponibles para cada método. La
API actualmente soporta los formatos de los siguientes datos: XML, JSON, y
el RSSy Atom formatos de sindicación, con algunos métodos aceptando solamente un
subconjunto de estos formatos.
5) Los parámetros tienen ciertas expectativas
Algunos API métodos tomar o necesarios parámetros opcionales. Dos cosas a tener en
cuenta al realizar las solicitudes con los parámetros:
1.Los valores de parámetros deben ser convertidos a UTF-8 y URL codificada.
2.La i  de parámetros comienza a la 1, no 0.
Hay dos parámetros especiales de la API de Twitter:
? › › m
 › ›: Se usa sólo cuando se solicite el formato JSON
respuestas, este parámetro se ajusta la respuesta en un método de devolución de
llamada de su elección. Por ejemplo, añadiendo › › m
› ›

 
m a su solicitud dará lugar a un cuerpo de la respuesta de:



 
m . devoluciones de llamada sólo puede contener caracteres
alfanuméricos y guiones, y cualquier caracteres no válidos pueden ser retirados.
? Y ii YY YimY
m› Y : Si este parámetro está presente, todas las respuestas
serán devueltos con un  código de estado - incluso los errores. Este parámetro
existe para dar cabida a aplicaciones Flash y JavaScript que se ejecuta en los
navegadores que no interceptar todas las respuestas-200. Si se utiliza, es entonces el
trabajo del cliente para determinar los estados de error al analizar el cuerpo de la
respuesta.Utilizar con precaución, como los mensajes de error pueden variar.
Donde se indique, algunos métodos de la API se obtendrán resultados diferentes sobre la
base de los encabezados HTTP enviados por el cliente. Si el mismo comportamiento
puede ser controlado tanto por un parámetro y una cabecera HTTP, el parámetro tendrá
prioridad.
límites 6) Existen paginación
[
 #$% 
Los clientes pueden acceder a un máximo teórico de 3.200 estados a través de
la i  y
m  
m parámetros para la user_timeline REST métodos de la
API. Otros métodos de control temporal de un máximo teórico de 800 estados. Las
solicitudes de más que el límite se traducirá en una respuesta con un código de estado de
200 y un resultado vacío en el formato solicitado. Twitter aún mantiene una base de datos
de todos los tweets enviados por un usuario. Sin embargo, para asegurar el rendimiento
del sitio, este límite temporal artificial en su lugar.
#$ &  [

Los clientes pueden solicitar hasta 1.500 estados a través de la i  y ii parámetros
para la búsqueda de método. La respuesta a una solicitud que exceda este límite será un
código de estado de 200 y un resultado vacío en el formato solicitado. Este límite artificial
para garantizar el desempeño del sistema de búsqueda. También limitar el tamaño del
índice de búsqueda mediante la colocación de un límite de fecha de las actualizaciones
que le permiten realizar la búsqueda. Este límite es actualmente alrededor de 1,5
semanas, pero es dinámico y está sujeto a disminuir el número de tweets por día sigue
creciendo.
7) Codificación afecta a contar de estado de carácter
La API de Twitter soporta UTF-8 de codificación. Tenga en cuenta que entre paréntesis
angulares ("<" y ">") son de entidad-codificados para evitar ataques Cross-Site Scripting
para la web embebido en los consumidores de JSON de salida de la API. El resultado de
entidades codificadas  cuentan para el límite de 140 caracteres. Al solicitar XML, la
respuesta es codificación UTF-8. Símbolos y personajes fuera de la gama estándar ASCII
pueden ser traducidas a Ê Ê
.
8) Una línea de comandos es todo lo que necesita para utilizar la API
de Twitter
Si su sistema tiene rizos (y debe!), ya tienes una gran manera de hurgar el Twitter API. He
aquí algunos ejemplos:
? Accede a la linea publica en formato RSS, no
autenticados:
 i i


mY  Y Yi 


 

YY
? Obtener información actualizada de los usuarios de seguir en XML, y cuya
autenticidad:
 
Y  m contraseña i i


mY  Y Y  ›Y  




? Ver sólo los encabezados de que la última solicitud:

 u-nombre
de
usuario contraseña i i


mY  Y Y  ›Y  




? Publicar un estado de actualización y obtener el estado que resulta de nuevo como
JSON:
  Y  m contraseña  Y ›m› ›su mensaje
aquí i i


mY  Y Y i›
Ym
Aprenda más sobre cURL y la API de aquí.
9) Hay Twitter bibliotecas API para casi cualquier idioma.
La Comunidad ha creado numerosas bibliotecas de la API de Twitter y está dispuesto a
compartir.

? Twitter API FAQ

 p# p
¿Qué es un API?
La sigla "API"significa" Application Programming Interface ". Una API es un método
definido para un programa para realizar una tarea, por lo general recuperar o modificar
datos. En el caso de Twitter, nos proporciona una API ,  para casi todas las
características que puedes ver en nuestra página web. Los programadores usan la API de
Twitter para hacer que las aplicaciones, sitios web, los widgets, y otros proyectos que
interactuar con Twitter. Programas de hablar a la API de Twitter más de HTTP, el mismo
protocolo que el navegador utiliza para visitar e interactuar con páginas web.
¿Cómo se utiliza la API de Twitter?
Si desea que la aplicación para hacer el tipo de cosas que un usuario de Twitter puede
hacer, echa un vistazo a la documentación de la API REST. Si desea buscar
actualizaciones de Twitter pública mediante programación, consulte la documentación de
la API de búsqueda. No es necesario escribir todo el código para hablar con el API de
Twitter desde cero, como los desarrolladores han compartido buena fuente de bibliotecas
de código abierto que se encarguen de eso. Si quieres ver ejemplos de completo,
trabajando proyectos Twitter API, hay un montón de ejemplos de código abierto para mirar
a través.
¿Cómo puedo contar en 140 caracteres?
La definición de un "carácter", y luego contar a cabo 140 de ellos es clave para cualquier
aplicación de Twitter. También puede ser difícil si la sutileza está utilizando caracteres que
están más allá ASCII y UTF-8. Hemos preparado un breve panorama sobre cómo contar
los caracterescorrectamente si necesita ayuda.

^ p =p


¿Cómo puedo obtener "a partir de [MyApp]" añadido a las
actualizaciones enviadas desde mi aplicación API?
Ahora los desarrolladores recomiendan el uso OAuth para realizar la autenticación con la
API. Cuando las aplicaciones utilizan OAuth, Twitter automáticamente conoce el origen de
las actualizaciones de estado. Por consiguiente, podemos añadir atribución de la
procedencia (de "[MyApp]") para tweets. Si desea tweets de su solicitud para recibir un
parámetro de fuente, por favor registrar una aplicación y aplicar la autenticación
OAuth. Manera automática, incluyen la aplicación como la fuente para cualquier tweets
enviados desde su aplicación.
Originalmente permitían a las aplicaciones para crear una fuente de parámetros para el
uso no OAuth, pero que se ha interrumpido.Aplicaciones parámetros fuente pre-OAuth
seguirá activa, pero las nuevas inscripciones ya no son aceptadas.
Sigo golpeando el límite de velocidad. ¿Cómo puedo obtener más
solicitudes por hora?
Sólo tienes que rellenar este formulario a mano otros! Tenga en cuenta que  tener
una cuenta de Twitter y pp  p p pp ppppppp
p1 p p. Por favor, tenga en cuenta que  los desarrolladores para
aprobar la lista blanca.
Puede tomar hasta 72 horas para que podamos volver a usted, pero tratamos de
responder a las peticiones lo más rápido posible restricción de las vacaciones y los
desastres. Una vez que esté en la lista blanca que será capaz de llevar hasta 20.000
solicitudes por hora. Úsalos con inteligencia!
¿Cómo puedo recuperar una cuenta de Twitter inactivos para mi
proyecto o una aplicación?
Tenemos un artículos de ayuda primaria que habla acerca de la inactividad en el nombre
de usuariohttp://help.twitter.com/forums/26257/entries/15362-inactive-usernames. En
general, no podemos transferir nombres de usuario para uso personal en este momento. Si
usted cree una cuenta de Twitter puede ser en cuclillas en su marca registrada y violación
de Twitter Condiciones del servicio, por favor envíe un ticket
en http://help.twitter.com/requests/new sobre "Marcas / Marca en cuclillas".
¿Cómo puedo informar de los errores y pedir las características?
Puedes ver la lista de ediciones anteriores aquí. Por favor, revise para asegurarse de que
su problema no ha sido descubierto. Estrella de un título existente a votar por él, o añadir
un ejemplo de un problema si lo describe su error. O bien, informar de un problema nuevo
si es necesario.
¿Cómo puedo obtener mi aplicación en el cuadro de promoción de
la barra lateral?
Las aplicaciones en la labor de promoción cuadro de la barra lateral, como escoger el
editor en la librería. Ellos fueron elegidos porque hacer algo muy bien. No existe un
formulario que usted puede llenar para que su solicitud sea considerada. Recibimos
nuestras sugerencias de los usuarios la adopción de una aplicación en particular. Así que
desarrollar algo grande y cuando nos enteramos de ello, usted encontrará su nombre en
luces.

 p   p p   #=p


¿Qué estoy haciendo mal?
Es muy probable que usted no, sino más bien de un error en una biblioteca de HTTP o
Twitter API de la biblioteca que está utilizando. Pruebe su petición de API con un buen
conocido, como herramienta fiable rizo. Nueve de cada diez veces, trabaja con rizos. Si
eso no resuelve el problema, utilizar un proxy HTTP, como Charles para saber lo que está
pasando entre la aplicación y los servidores de Twitter. Es imprescindible que provean
plena petición HTTP y la respuesta para que su compañero desarrolladores de Twitter
para ayudarte cuando la presentación errores y discutir la API.
¿Es la API de Twitter abajo?
No es probable: Twitter no ha tenido más de un par de minutos de tiempo de inactividad en
cuando. Las solicitudes pueden quedarse de vez en cuando, pero es muy probable que no
estamos

' . Usted siempre puede comprobar el estado de Twitter registro para ver qué
está pasando con el sitio. Este registro se encuentra en un servicio totalmente diferentes
de Twitter y en un centro de datos diferentes, por lo que no debe estar sujeta a ningún
tiempo de inactividad Twitter podría incurrir.
¿Mi IP o en la lista negra?
Si ha realizado más de su asignación de las solicitudes (que es hasta 20.000 por hora para
los PI y las cuentas de la lista blanca), nuestro equipo de operaciones puede muy bien
haber bloqueado su IP o rango de direcciones IP. Ofrecemos a nuestros APIs para  y
con  garantía o condiciones del servicio. Eso significa que puede adoptar medidas
para prohibir o bloquear cualquier cuenta, IP, o rango de IPs que pueden estar haciéndole
daño a nuestra capacidad de ofrecer Twitter en una manera oportuna y confiable. Si usted
piensa que ha sido prohibida, por favor envíenos un correo electrónico y nosotros lo
solucionaremos.
¿Por qué mis archivos de la imagen siempre fallan?
Los métodos de actualización de imágenes requieren que el formulario de datos de varias
partes. No aceptan una dirección URL a una imagen ni aceptar los bytes de la imagen en
bruto. Por el contrario, requieren los datos que se entregarán en forma de una carga de
archivo presentado tal como se define en RFC1867. El tipo de atributo contenido del
campo de la imagen está marcada para el tipo de imagen válida. Si está usando PHP /
CURL hay un error conocido que desde entonces ha sido corregido en la versión CVS de
PHP. La mayoría de las instalaciones aún no están utilizando esta versión y por lo tanto un
error durante la carga de imágenes.

% pp >p


¿Cómo debe ser mi bot seguir a los usuarios que le siguen o
inspeccionar los mensajes directos?
De forma predeterminada, Twitter envía un e-mail la primera vez que un usuario te sigue o
le envía un mensaje directo. Para deleite de su robot de la capacidad, hemos añadido los
siguientes encabezados de los correos electrónicos:
? 6 witterEmailype - será "is_following 'o direct_message"
? 6 witterCreatedAt - ex: Jue Ago 07 15:17:15 -0700 2008
? 6 witter`ender`creenName - por ejemplo: 'bob'
? 6 witter`enderName - por ejemplo: "Bob Smith '
? 6 witter`enderID - ex: 12345
? 6 witterRecipient`creenName - por ejemplo: 'juan'
? 6 witterRecipientName - por ejemplo: 'John Doe'
? 6 witterRecipientID - por ejemplo: 67890
? 6 witterDirectMessageID - por ejemplo: 2346346
¿Cómo puedo evitar que se ejecute en el límite de velocidad?
1. El almacenamiento en caché. Le recomendamos que las respuestas de la API
de caché en su aplicación o en su sitio si usted espera un volumen alto uso. Por
ejemplo, no trate de llamar a la API de Twitter en cada carga de página de su
popular sitio web enormemente. En su lugar, llame a nuestra API de una vez por
minuto y guardar la respuesta por tu parte, mostrando su versión en caché en su
sitio.
2. La limitación de tasas por el usuario activo. Si su sitio hace un seguimiento de
muchos usuarios de Twitter (por ejemplo, ir a buscar su estado actual o
estadísticas sobre su uso de Twitter), por favor considere sólo solicita datos a
los usuarios que hayan accedido a su sitio.
Estas son sólo algunas de las estrategias ejemplo. Estamos encantados de trabajar con
usted para encontrar soluciones que mantengan su solicitud y nuestra API funcionando sin
problemas. Sólo disparar api@twitter.com un correo electrónico.
¿Cómo puedo obtener todas las respuestas a una situación en
particular?
Por el momento, no hay una buena manera de hacer esto. Hemos escuchado las
solicitudes, sin embargo, y vamos a proporcionar una solución para que en poco tiempo.

ß  p#p,p %'pp 4p


¿Cómo puedo seguir el ritmo de los cambios en la API de Twitter?
Hay una serie de grandes maneras de seguir los cambios que hacemos a la API de
Twitter:
? Siga @ twitterapi en Twitter.
? Leer el bajo volumen de la API de Twitter Anuncios Google grupo.
? Participa en la conversación sobre el Twitter hablar de desarrollo del grupo de Google.
Cuando se Twitter apoyo OAuth?
A partir de marzo de 2009, OAuth se ha trasladado a una beta pública. La aplicación es
estable y puede ser usado para los sitios públicos. Es todavía en fase beta por lo que
establece nuestra implementación de la característica todavía no está completo, le falta
pulir UX, y todavía está sujeto a posibles cambios. Una vez que todos los errores son
subsanadas y es compatible con una mejor experiencia de usuario para los casos de uso
de escritorio y móviles, OAuth se convertirá en el sistema de autenticación compatibles
con Twitter, y autenticación básica HTTP probablemente será obsoleto después de un
largo período de gracia.
¿Puedo tener la manguera de bomberos u otros elevados
Streaming acceso a la API?
A principios de 2010 vamos a ofrecer detalles a nuestro anuncio de la disponibilidad de
datos en la conferencia de diciembre 2009 LeWeb.Mientras tanto, algunos un mayor
acceso está disponible en una por caso, caso por correo electrónico a su caso el uso de
aplicaciones y un fondo organización breve api@twitter.com. Casi todos los casos de uso
pueden estar satisfechos con un cierto uso creativo de una combinación de los flujos de
público en la API de streaming.
¿Vas a hacer que el resto de la API y el API de búsqueda de trabajo
de la misma?
Yup! Ese es uno de nuestros principales objetivos para 2010.

? Vista general de la API

La API de Twitter
La API de Twitter se compone de tres partes: dos APIs REST y una API de streaming. Las
dos APIs REST distintas se deben por completo a la historia. Summize, Inc. fue
originalmente una compañía independiente que proporciona capacidad de búsqueda para
los datos de Twitter.Summize más tarde fue adquirido y rebautizado como Twitter
Search. Rebranding el sitio era fácil, la plena integración de Twitter y su API de búsqueda
en el código a Twitter es más difícil. Es en nuestra línea de unificar las API, pero hasta que
lo permitan los recursos de la API REST API de búsqueda y se mantendrá como entidades
separadas. La API en flujo continuo es distinta de la API REST como dos Streaming
soporta conexiones de larga duración en una arquitectura diferente.
Los métodos de la API REST Twitter permite a los desarrolladores acceder a datos
básicos de Twitter. Esto incluye los plazos de actualización, los datos de estado, e
información al usuario. La API de los métodos de búsqueda proporcionan a los
desarrolladores métodos para interactuar con Twitter de búsqueda y los datos de
tendencias. La preocupación por los desarrolladores de esta separación es determinado
los efectos sobre la limitación de velocidad y formato de salida. El API proporciona cerca
de Streaming-volumen de acceso en tiempo real de alta tweets en la muestra y se filtra
formulario.
Para obtener información sobre los métodos y datos disponibles a través de la API,
consulte la documentación técnica de la API de Twitter.
Nos divulgar públicamente los defectos actuales y mejoras. defectos actuales y las
prioridades de mejora se pueden ver en nuestra lista de temas. Objetivos a largo plazo se
registran en el documento hoja de ruta.
El API se actualiza periódicamente con nuevas características. De vez en cuando
desprecian características. Todos estos cambios son comunicados en los siguientes
lugares:
? @ Twitterapi en Twitter.
? El bajo volumen de la API de Twitter Anuncios Google grupo.
? La conversación en el Twitter hablar de desarrollo del grupo de Google.
? Soporte API
Documentación de la API
La documentación oficial de Twitter que solía ser alojados en apiwiki.twitter.com pero
hemos movido desde entonces el contenido de laDocumentación de la API en este sitio. Si
no puede encontrar lo que busca en este sitio significa que no hemos sido capaces de
transferencia de la wiki todavía. Si el contenido existe en el apiwiki y este sitio debe usar
este contenido sitios.
Cuestiones Lista
Hacemos nuestra lista de temas de colaboración, porque los desarrolladores que utilizan el
ejercicio de la API y el código de encontrar defectos.Si usted tiene un problema pp
pp pp   para encontrar que ya son conscientes del defecto. Tenga
en cuenta que los valores predeterminados de búsqueda a "Cuestiones pendientes", así
que asegúrese de seleccionar "Todos los números" antes de ejecutar la consulta. Si
verifica un informe de problema no existe, por favor, añadir en consecuencia con el mayor
detalle posible.
Twitter Grupo de Desarrollo
http://groups.google.com/group/twitter-development-talk es el oficial de desarrollador lista
de Twitter. Twitter periódicamente a los empleados del timbre para responder a las
preguntas y preocupaciones desarrollador. Si se tiene un problema o sugerencia para
otros desarrolladores de API, puesto que allí, pero ppp pp p
 pp p p p* .
Correo electrónico
La última línea de defensa. Si usted ha agotado la lista anterior de los recursos y se siente
seguro de que sus necesidades no pueden ser atendidas allí, enviar un email a
api@twitter.com.

? Mejores prácticas de seguridad


Introducción
El éxito de la aplicación Twitter es probable conseguir un poco de atención. La mayor parte
de que la atención será bueno: Los usuarios de cantar sus alabanzas, otros
desarrolladores felicita sus chuletas de programación. Parte de esa atención, sin embargo,
podría ser negativo.Como Twitter ha aumentado su popularidad, el ecosistema de Twitter
se ha convertido en un objetivo más visible para los hackers maliciosos.Algunos están
fuera para distribuir spam y malware, mientras que otros sólo se puede estar propagando
el caos para la diversión. Cualesquiera que sean sus motivos, su aplicación puede ser un
objetivo.
Esta página está diseñada para que usted tenga en el camino hacia una mayor seguridad
en su aplicación. No es la última palabra, ni mucho menos. Si hay algo que le gustaría ver
agregado a ella, por favor háganoslo saber. Si usted ha descubierto un problema de
seguridad que afecta directamente a Twitter, por favor escriba a security@twitter.com. Si
desea GPG cifrar su correo electrónico, por favor utilice nuestro clave pública. Si su
problema de seguridad es legítimo, podemos darle la atribución para el descubrimiento de
nuestra Seguridad Contribuyentespágina bajo petición.
1.Introducción
2.Amenazas
i. General
a. Contraseña de retención
b. La validación de entradas
c. Comunicación sin cifrar (sin SSL)
d. Expuesto información de depuración
e. Prueba Incorrecta
f. No dejar que la gente Ayuda
g. La Ley
ii. Seguridad en aplicaciones Web
a. Sin filtro de entrada, sin escape de salida
b. Cross-Site Scripting (XSS)
c. Inyección de SQL
d. Solicitud de Cross-Site Falsificación (CSRF)
e. La falta de limitación de velocidad
f. La falta de información sobre las amenazas
iii. Seguridad de aplicaciones de escritorio
a. Almacenamiento de credenciales sin cifrar
3.Recursos de Seguridad
a. General
b. Seguridad en aplicaciones Web
c. Seguridad de aplicaciones de escritorio
Amenazas
General
Las amenazas a continuación se aplicarán sin importar su plataforma.
V'  (
En resumen, no conservan las contraseñas. el apoyo de Twitter de la autenticación básica
HTTP (la forma estándar para autenticar a través de la web con un nombre de usuario y
contraseña) #p  p. Por favor, use OAuth.
Si usted es conservar contraseñas, por favor cifrar. En Twitter, usamos bcrypt-rubí, pero
hay muchas otras maneras de almacenar las contraseñas cifradas. Pero, no. No lo
hagas. No guarde contraseñas. Sólo tienda OAuth fichas. Por favor.
[   (  
No asuma que los usuarios le proporcionará los datos válidos, confiables. Desinfecte todos
los datos, la comprobación de longitud de las cadenas sano, tipos de archivo válidos, etc
Twitter intenta desinfectar los datos publicados en nuestro API, pero un poco de ayuda de
cliente recorre un largo camino. Lista blanca de los tipos de entrada que es aceptable para
su aplicación y desechar todo lo que no está en la lista blanca.
V
  ( ¦[
Twitter ofrece todos los métodos API REST a través de SSL. Cada vez que el código
podría estar operando en una red insegura (es decir, si está desarrollando una aplicación
de cliente), por favor haga uso de SSL para todas las solicitudes autenticadas o
sensible. Por ejemplo, la publicación de un estado, solicitando los últimos mensajes
directos, y la actualización de todos los atributos de perfil se debe realizar a través de SSL
en un cliente de Twitter. Es seguro y sugiere usar SSL en relación con OAuth.
Comunicación del Servicio-A-servicio no pueden beneficiarse de SSL si confía en su
proveedor de alojamiento (o eres tu propio proveedor de alojamiento).
)
 (   (
Asegúrese de que usted no es exponer información sensible a través de pantallas de
depuración / logs. Algunos marcos Web facilitan el acceso a la información de depuración
si su aplicación no está correctamente configurado. Para los desarrolladores de escritorio y
móviles, es muy fácil enviar accidentalmente una generación con la depuración de
banderas o símbolos habilitado. Generar los controles de estas configuraciones en su
despliegue y proceso de generación.
#$  
Asegúrese de que sus pruebas (usted tiene pruebas, ¿no?) no sólo comprobar que usted
puede hacer lo que  ser capaz de hacer, pero que los chicos malos no pueden hacer
lo que 
ser capaz de hacer. Ponte en una mentalidad atacante y el látigo por
algunas pruebas del mal.
^ * " 
¿Ha creado security@yourapplication.com? ¿Los mensajes de correo electrónico a la
derecha en el teléfono? Que sea fácil para las personas en contacto con usted acerca de
los posibles problemas de seguridad con la aplicación. Si alguien se informe de una falla
de seguridad para usted, ser amable con ellos, porque acabo de hacer un gran
favor. Gracias por su tiempo y solucionar el problema de inmediato. Es bastante común
para los investigadores de seguridad para escribir acerca de las vulnerabilidades que
hemos descubierto una vez que el agujero se ha cerrado, por lo que no se preocupe si su
aplicación termina en un blog o trabajo de investigación. La seguridad es duro, y nadie es
perfecto.Mientras usted esté preparando los temas que se informa a usted, usted está
haciendo bien.
Considere la posibilidad de contratar a profesionales de la seguridad de hacer una
auditoría y / o prueba de penetración. No se puede depender únicamente de la bondad de
los extraños, porque todas las vulnerabilidades que alguien tuvo la gentileza de informar a
usted, hay diez más que los hackers maliciosos han encontrado. Una empresa de
seguridad buena voluntad cavar hondo para descubrir asuntos. Puedes buscar las
empresas y los consultores individuales que hacen más que ejecutar una pocas
herramientas automatizadas.
[["
Si su solicitud es (va a ser) el manejo del dinero, usted puede ser requerido por la ley a
que se adhieran a las prácticas de seguridad de los reglamentos. Averigüe qué es
aplicable a usted y asegúrese de que está con el código.
Seguridad en aplicaciones Web
       
Un método fácil de recordar enfoque de la validación de la entrada es FIEO: El filtro de
entrada, salida de escape. Filtro nada de fuera de su aplicación, incluyendo los datos de la
API de Twitter, información de la cookie, entrada de un formulario suministrado por el
usuario, parámetros de URL, los datos de bases de datos, etc todas las salidas de escape
que son enviados por su aplicación, incluyendo SQL enviada al servidor de base de datos,
HTML a enviar a los navegadores de los usuarios, JSON / salida XML enviados a otras
redes, y los comandos enviados a los programas de shell.
V+ ¦,
XSS ataques son, por mayoría de las medidas, la forma más común de problemas de
seguridad en la web. En pocas palabras, si un atacante puede obtener su propio código
JavaScript en su aplicación, que pueden hacer cosas malas. En cualquier lugar donde
guardar y que no se confía de pantalla, los datos suministrados usuario necesita ser
comprobada, desinfectarse y escapó HTML. Obtener este derecho es difícil, porque los
hackers han muchas maneras diferentes a la tierra ataques XSS. Su lenguaje o marco de
desarrollo web probablemente tiene una, bien probada mecanismo popular para la defensa
contra-site scripting cruz, por favor haga uso de ella.
En general: el HTML no es necesario de alguna forma de cara del usuario, filtrar, por
ejemplo, no hay razón para que algo que no sea enteros al almacenar un número de
teléfono. Si el HTML es necesario, utilice una buena lista blanca del filtro
conocidas. HTMLPurifier para PHP es una solución de este tipo. contextos diferentes
pueden requerir enfoques diferentes de filtrado. Ver la OWASP XSS Prevención Hoja de
trucos para más información sobre el filtrado.
$" ( -[
Si la aplicación hace uso de una base de datos, necesita estar al tanto de inyección de
código SQL. Una vez más, en cualquier lugar que acepte de entrada es un blanco
potencial para un atacante para salir de su campo de entrada y en su base de datos. Use
las bibliotecas de base de datos que protegen contra la inyección de código SQL de
manera sistemática. Si salir de ese enfoque personalizado y escribir SQL, escribir pruebas
agresivas para asegurarse de que no se está exponiendo a esta forma de ataque.
Los dos enfoques principales para la defensa frente a la inyección SQL se escapan antes
de construir la instrucción SQL y el uso de parámetros de entrada para crear
declaraciones. Este último se recomienda, ya que es menos propenso a errores del
programador.
    V+.   (¦V%.
¿Estás seguro de que las peticiones para su aplicación viene de su
aplicación? CSRF ataques aprovechan esta falta de conocimiento al obligar a los usuarios
registrados de su sitio en silencio para abrir direcciones URL que realizar acciones. En el
caso de una aplicación de Twitter, esto podría significar que los atacantes están utilizando
su aplicación para obligar a los usuarios para publicar tweets no deseado o spam siga
cuentas. Usted puede aprender más sobre este tipo de ataque en PHP experto en
seguridad Chris Shiflett blog.
La manera más exhaustiva para hacer frente a CSRF es incluir una ficha al azar en todas
las formas que se almacena en algún lugar de confianza, si un formulario no tiene el token
derecha, un error. marcos modernos web tienen formas sistemáticas de manipulación de
este, e incluso podría estar haciéndolo de forma predeterminada si se tiene suerte. Un
simple paso preventivo (pero de ninguna manera el único paso que debe tomar) es hacer
que toda acción que crear, modificar o destruir datos requieren una solicitud POST.
[   
 (     
CAPTCHAs en su caso para frenar los spammers y los atacantes potenciales.
[  
 ( 
 
Si crees que hay un problema con la aplicación web, ¿cómo saber con más seguridad? Ha
excepciones críticas y los errores enviado por correo electrónico y mantener una buena
registros. Es posible que desee para armar un cuadro de mando de las estadísticas crítica
para que pueda ver de un vistazo si algo va mal (o se encuentren a la derecha).
Seguridad de aplicaciones de escritorio
0 
   $

  
   

          

 
 -    
 . [  

  - 

'
  À 
 
' 
 #  
 À 
 
    /À  
  
  


. 01,
 À  2

 
      
Como se ha mencionado, para optimizar la seguridad que usted debe utilizar OAuth. Pero
una vez que haya una ficha con la cual hacer peticiones en nombre de un usuario, ¿dónde
lo pones? Idealmente, en un almacén cifrado administrado por el sistema operativo. En
Mac OS X, este sería el llavero. En el entorno de escritorio GNOME, está el llavero. En el
entorno de escritorio KDE, hay KWallet.
Recursos de Seguridad
Los siguientes enlaces son grandes maneras de aprender más acerca de la seguridad. La
seguridad es un tema profundo, pero no se siente como usted tiene que aprender todo
sobre él antes de tomar medidas preventivas para bloquear la aplicación. Un poco de
seguridad de miras va un largo camino.
R 
? Purdue CERIAS - Centro de Educación e Investigación en Aseguramiento de la
Información y de Seguridad
? US-CERT - actuales amenazas identificadas para varias plataformas y aplicaciones
? CERT Información para desarrolladores - prácticas de codificación segura
     /
? OWASP Top Ten de las amenazas - la lista definitiva de las amenazas más
apremiantes que enfrenta los desarrolladores de aplicaciones web.
? La detección de intrusión - es posible que desee ejecutar un Sistema de Detección de
Intrusos (IDS) para encontrar posibles atacantes.
? PHP herramientas para el filtrado y la validación - generosamente proporcionado por el
veterano desarrollador de Twitter @ funkatron.
        
? Apple Developer Connection - Seguridad
? Apple sujete la guía de codificación
? Seguridad MSDN Developer Center
? Programación Segura para Linux y Unix HOWTO

? Limitación de velocidad

Tabla de contenidos
? Califica API REST Limitar
? Saber si está limitada tasa de
? Lista blanca
? API de búsqueda de limitación de velocidad
? Consejos para evitar ser Califica Limitada
? Listas negras
? Streaming API

La API de Twitter sólo permite a los clientes hacer un número limitado de llamadas en una
hora determinada. Esta política afecta a la API de diferentes maneras.
Califica API REST Limitar
El límite de tasa de morosidad de las llamadas a la API REST varía en función del método
de autorización se está utilizando.
? llamadas anónimas se basan en la IP de la máquina y se les permite 150 peticiones
por hora.
? Basic llama autenticación se permiten 150 solicitudes por hora.
? OAuth se permiten las llamadas 350 solicitudes por hora.
La API REST se usuario y basadas en IP, tipo de limitación. Autenticados llamadas a la
API son la medida contra el límite de velocidad que el usuario se autentica. llamadas sin
autenticar se deducen de la convocatoria anfitriones asignación de direcciones IP.
Tasa de límites se aplican a los métodos que lo solicite, la información comando GET de
HTTP. En general los métodos que utilizan la API HTTP POST para enviar datos a Twitter
no son la velocidad limitada, sin embargo, algunos métodos se están tasa limitado
ahora. Todos los métodos empleados en la documentación de la API se explica si se trata
de tasa limitado o no.
API de métodos que no están directamente tasa limitada siguen estando controlados por la
actualización diaria y los límites del seguidor para promover un uso saludable y desalentar
el spam. Estos límites de Twitter se describen en nuestro sitio de ayuda.
Notas especiales acerca de los usuarios o de búsqueda
Los usuarios / search método tiene un límite de velocidad característica adicional que se
aplique en combinación con la tasa de API REST límite principal. Las llamadas a los usuarios
o de búsqueda se verá afectada por tanto la función y solicitar tasa límite predeterminado. Si
el límite se agota, el método fallará. Usted puede monitorear el estado de la función de
limitar la velocidad mediante la inspección de los encabezados de respuesta HTTP que se
devuelven.
Además de los encabezados de tipo de límite por defecto también verá:
? 6 eatureRateLimit Limit
? 6 eatureRateLimit restante
? 6 eatureRateLimit Reset
El significado de estas cabeceras corresponden a los encabezados X-RateLimit
proporcionada por la API REST principales límite.

Saber si está limitada tasa de


Si su solicitud está siendo limitado por la velocidad de la API REST que recibirá HTTP 400
códigos de respuesta. La mejor práctica para las aplicaciones para controlar su tasa de
estado límite actual y dinámica del acelerador peticiones si es necesario. La API REST
ofrece dos formas de observar esta situación que se explica en la limitación de velocidad
FAQ.

Lista blanca
Algunas aplicaciones encontramos que el límite por defecto resulta insuficiente. En tales
circunstancias, ofrecemos listas blancas. Es posible crear una lista blanca, tanto las
cuentas de usuario y las direcciones IP. Cada entidad lista blanca, ya sea una cuenta o
dirección IP, se permite 20.000 solicitudes por hora. Si está desarrollando una aplicación y
me gustaría ser considerado para listas blancas de llenar el formulario de solicitud de listas
blancas. Se revisan cada solicitud de listas blancas y algunas veces puede tomar una
semana para recibir una decisión. Una vez que hemos tomado la decisión le enviaremos la
dirección asociada a la cuenta de Twitter que presentó la solicitud.
Actualización de los datos de su lista blanca
Si usted está lista blanca, pero sus circunstancias cambian debe volver a aplicar para la
lista blanca que explica el cambio y el que se haya previamente la lista blanca. Usted debe
volver a aplicar con la misma cuenta que utiliza para solicitar inicialmente lista blanca.
Notas importantes
Lista blanca no quita la actualización diaria y los límites seguidor asociados a las
solicitudes POST, estos límites se manejan en una base por usuario.
lista blanca de propiedad intelectual tiene prioridad sobre los límites de la frecuencia de los
usuarios. Peticiones GET de una lista blanca de direcciones IP en nombre de un usuario
se deducirá de limitar la lista blanca de propiedad intelectual, no de los usuarios. listas
blancas basadas en IP, es la mejor práctica para las aplicaciones que tienen muchos
usuarios.
Usted puede verificar su lista blanca con las cuentas / rate_limit_status método. Para recuperar
el límite de la tarifa de usuario que debe llamar a este método con autenticación. Para la
tasa límite de dirección IP que deben hacer la solicitud de forma anónima.

API de búsqueda de limitación de velocidad


Las solicitudes a la API de búsqueda, alojado en search.twitter.com , no cuentan para el límite
de la API REST. Sin embargo, todas las solicitudes procedentes de una dirección IP se
aplican a una tasa límite de la búsqueda. La búsqueda Limitar la tasa no se hace pública
para desalentar el uso innecesario de búsqueda y los abusos, pero es mayor que el resto
Precio Límite. Creemos que la búsqueda Limitar la tasa es a la vez liberal y suficiente para
la mayoría de aplicaciones y conocimientos que la aplicación muchos vendedores han
considerado adecuado para sus necesidades.
Requisitos para la API de búsqueda
Búsqueda uso de la API exige que las solicitudes incluyen un único usuario y la
identificación de cadena de agente. Un Referente HTTP se esperaba, pero no es
necesario. Las aplicaciones que utilizan la API de búsqueda, pero no incluir una cadena de
agente de usuario recibirá un límite de tasa más baja.
Una aplicación que excede las restricciones aplicables a la API de búsqueda, recibirá un
código de respuesta HTTP 420. La mejor práctica para observar esta condición de error y
el honor de Retry Después de cabecera, que será devuelto. El Retry-After valor de
encabezado es el número de segundos que la aplicación debe esperar antes de pedir la
fecha de la API de búsqueda de nuevo.
Buscar Lista blanca
No hay una lista blanca para la API de búsqueda de la misma manera que existe para la
API REST. Sin embargo, en algunas circunstancias raras hemos trabajado con los
desarrolladores para aumentar la limitación de velocidad para las aplicaciones de sus
solicitudes de búsqueda.
No damos lista blanca preventiva para la API de búsqueda sin embargo. Usted debe tener
una aplicación de trabajo que ha demostrado que requiere más capacidad antes de que
vamos a discutir listas blancas. Si usted cree que su solicitud está haciendo todo lo posible
para limitar las consultas y combinar en su caso puede contactar con la dirección de correo
electrónico en la página de soporte de la API para discutir sus necesidades.
La API de búsqueda sólo es capaz de lista blanca las direcciones IP no, las cuentas de
usuario. En la mayoría de situaciones ha resultado adecuado.
Buscar Lista blanca para plataformas Cloud
Una aplicación debe tener una dirección IP estática para poder optar a listas blancas. Esto
significa que la mayoría de las plataformas de nubes, incluyendo Google App Engine, no
puede ser la lista blanca.
Consejos para evitar ser Califica Limitada
Los siguientes consejos son la herramienta que está a la defensiva código y reducir la
posibilidad de la tasa está limitada.
El almacenamiento en caché
Tienda respuestas API en su aplicación o en su sitio si usted espera un montón de
uso. Por ejemplo, no trate de llamar a la API de Twitter en cada carga de página de su sitio
web la página de destino. En su lugar, llame a la API con poca frecuencia y la carga de la
respuesta en una caché local. Cuando los usuarios afectados la carga sitio web de la
versión en caché de los resultados.
Dar prioridad a los usuarios activos
Si su sitio hace un seguimiento de muchos usuarios de Twitter (por ejemplo, ir a buscar su
estado actual o estadísticas sobre su uso de Twitter), tenga en cuenta sólo los datos de su
interés para los usuarios que han firmado recientemente en su sitio.
Adaptarse a los resultados de búsqueda
Si su aplicación supervisa un alto volumen de los términos de búsqueda, consulta con
menos frecuencia en las búsquedas que no tienen resultados que para aquellos que lo
hacen. Mediante el uso de un back-off puede mantenerse al día en las consultas que son
populares, pero no perder interés en los ciclos de las consultas que muy rara vez cambian.
Alternativamente, puede utilizar el API streaming y el filtro en la búsqueda de sus términos.

Listas negras
Le pedimos que honra el límite de velocidad. Si usted o su aplicación la tasa de abusos
límites se la lista negra. Si usted está en la lista negra, no podrá obtener una respuesta de
la API de Twitter.
Si usted o su aplicación ha sido la lista negra y creo que ha habido un error que puede
contactar con la dirección de correo electrónico en lapágina de soporte de la API. Así que
podemos conseguirle detrás en línea rápidamente por favor incluya la siguiente
información:
1. Si está utilizando la API REST, hacer una llamada a la 1/account/rate_limit_status
/ de la cuenta o una computadora que es la lista negra.
2. Explique por qué  piensa que su solicitud ha sido la lista negra.
3. Describir con detalle cómo se ha solucionado el problema que usted piensa que
hizo que la lista negra.

Streaming API
La API ha Streaming limitación de velocidad y niveles de acceso que son apropiados para
conexiones de larga duración. Consulte ladocumentación de la API de streaming para más
detalles.

? Limitación de velocidad FAQ


Tabla de contenidos
? ¿Dónde puedo encontrar información acerca de qué tipo de límite es?
? Son límites de la frecuencia por usuario, por ordenador o por solicitud?
? ¿Por qué elegir el Twitter de la Copa Mundial de 2010 como un momento de comenzar
de forma dinámica la calificación de la API
? ¿Tiene cambio dinámico de la limitación afecta a todos los que usan la API?
? Tengo una cuenta de la lista blanca y no puede operar con un límite de velocidad de
muy pequeño
? ¿Habrá alguna advertencia antes de que el límite se cambia?
? ¿Cuánto tiempo durará el límite de velocidad se reducirá?
? ¿Qué sucede cuando el límite de velocidad de tiempo de reposición que se llegó?
? ¿Cómo puedo comprobar el límite de velocidad?
Si usted tiene otra pregunta que no ha sido respondida, háganoslo saber en la lista de
correo de desarrolladores.

¿Dónde puedo encontrar información acerca de qué tipo de límite


es?
Nuestro sitio web contiene recursos para desarrolladores de información general sobre
limitación de velocidad.

Son límites de la frecuencia por usuario, por ordenador o por


solicitud?
Tasa de límites se aplican de diferentes maneras. Algunos métodos son limitados,
mientras que otros tipo de uso justo son limitados. En la mayoría de los métodos GET
(leer) las solicitudes son la velocidad limitada y POST (escribir) los métodos no lo
son. Usted debería revisar la sección tasa limitada de la documentación para el método
que desea utilizar para asegurarse.
Aplicamos las solicitudes de límites de la frecuencia de las siguientes maneras:
? El precio de los límites de solicitudes autenticadas se aplican al usuario.
? El precio de los límites de las solicitudes no autenticadas se aplican a la IP que vemos.
Esto significa que las aplicaciones comparten el límite de velocidad no autenticado * el
límite autenticado. ,p   pp  p p*p  p    para cambiar
entre varios clientes en la misma IP no ofrece ninguna ventaja límite de velocidad - que
todos ellos comparten el resto de peticiones misma.
Varias cuentas de usuario en un cliente de Twitter cada uno tiene su propio límite tasa de
usuario, pero que comparten las solicitudes no autenticadas.
Búsqueda tiene su límite propio ritmo y, como todas las solicitudes son anónimas se aplica
a la IP que vemos. Esto significa que todos los usuarios de la misma IP compartida el
límite de velocidad de búsqueda.

¿Por qué elegir el Twitter de la Copa Mundial de 2010 como un


momento de comenzar de forma dinámica la calificación de la API
El API representa aproximadamente el 75% del tráfico que viene, twitter.com. Mantener las
tasas bajo control. Esto significa que nuestra mejor oportunidad de llevar los servicios de
apoyo es disminuir la carga de lectura en el API.
¿Tiene cambio dinámico de la limitación afecta a todos los que usan
la API?
Cuando se cambian los límites de frecuencia, todos los usuarios de la API lo sentirá. Esto
incluye las cuentas de la lista blanca y las aplicaciones propias de Twitter, incluyendo
Twitter para dispositivos móviles y m.twitter.com. Nosotros no discriminamos a nadie o dar
prioridad en el API, incluso nosotros mismos.

Tengo una cuenta de la lista blanca y no puede operar con un límite


de velocidad de muy pequeño
Para garantizar la imparcialidad a todos los usuarios de la API, el límite de tipo reducido es
proporcional a esa solicitud o asignación de los usuarios en lugar de un valor fijo de las
solicitudes.

¿Habrá alguna advertencia antes de que el límite se cambia?


No queremos que se está convirtiendo el tipo de límites hacia abajo y se evite hacer si
podemos, pero Twitter puede verse sobrecargado sin previo aviso. Si esto ocurre vamos a
intentar todo lo posible para restablecer el servicio antes de ajustar los límites de
velocidad.
servicio de restauración que tiene que ocurrir de forma rápida y medio, si el límite de
velocidad tiene que reducirse, se acaba de suceder. Es posible que califique limitado,
incluso cuando pensaba que había peticiones izquierda.

¿Cuánto tiempo durará el límite de velocidad se reducirá?


Cuando se reduce el límite de velocidad vamos a observar cómo van las cosas y si es
necesario reducir la tasa adicional. Si las cosas se ven más saludables que evaluará si
aumentar el límite de velocidad de forma gradual hasta el límite por defecto se restablecen.
Vamos a dejar que todos ustedes saben acerca de los cambios por defecto límite de
velocidad de cualquier bien @twitterapi y la discusión la lista de correo de desarrolladores.

¿Qué sucede cuando el límite de velocidad de tiempo de reposición


que se llegó?
El límite de tasa seguirá siendo el mismo que estaba antes del tiempo de reposición, sin
perjuicio de los cambios realizados.

¿Cómo puedo comprobar el límite de velocidad?


Puede comprobar el límite de velocidad de una de dos maneras.
Encabezados de respuesta
Cada vez que haga una solicitud a la API se remitirá el estado actual tasa a usted en la
cabecera de respuesta. Usted debe buscar las siguientes claves:
8;/;/Dp()p8;/p Dp()p8;/;Dp*#92($#@p

Solicite su límites de la frecuencia de la API


Hacer una llamada a la API a / 1/account/rate_limit_status.xml o 1/account/rate_limit_status.json
/. Usted recibirá una respuesta similar a:
  pAIp*#92($#@p 1 pAIp()p 
  pAIp
()p  pAIp p#(pp. p))))p*D)D)@p#)*) p

Más información está disponible en la definición de API para rate_limit_status.


? Las respuestas HTTP y errores

Códigos de estado HTTP


La API de Twitter intentos de una rentabilidad adecuada códigos de estado HTTP de todas
las solicitudes. Es posible suprimir los códigos de respuesta para la API REST.
? £""pD: Success!
? &"!p^p   : No hubo nuevos datos para volver.
? !""p-p: La solicitud no es válida. Un mensaje de error que acompañan a
explicar por qué. Este es el código de estado serán devueltos durante limitación de
velocidad.
? !" p^p : las credenciales de autenticación era incompleta o incorrecta.
? !"&p  : La solicitud se entiende, pero se ha negado. Un mensaje de error que
acompañan a explicar por qué. Este código se utiliza cuando las solicitudes están
siendo denegado debido a actualizar los límites.
? !"!p^p : El URI solicitado no es válida o el recurso solicitado, como por
ejemplo un usuario, no existe.
? !" p^p : Volvió por el API de búsqueda en un formato no válido se
especifica en la solicitud.
? !£"p-pp : devuelto por la búsqueda y API Tendencias cuando usted está
siendo limitada tasa.
? ""p'  pp: Algo se ha roto. Por favor, publique al grupo por lo que el
equipo de Twitter puede investigar.
? "£p%pp p : Twitter está caído o se actualiza.
? "&p  p p  : Los servidores de Twitter han subido, pero sobrecargado
de peticiones. Inténtelo más tarde.

Mensajes de error
Cuando la API de Twitter devuelve mensajes de error, lo hace en el formato solicitado. Por
ejemplo, un error de un método de XML puede ser como este:
GFp8 p pAp *) p1pAp 0&;2 FIpGIpG  IpEp
G  1E 
E9($? pEIp  ppG  Ip31Np.p p
pp, p pGEp>  IpGEIpp
ppppp

? Conteo de Caracteres
? Twitter Tweet límites de longitud de 140 caracteres que la definición de un
"carácter" y la forma en que se cuentan fundamental para cualquier aplicación de
Twitter. Esta página tiene como objetivo proporcionar información sobre cómo el
código de Twitter en el servidor cuenta con personajes de la restricción de longitud
Tweet. Los ejemplos en esta página se facilitará sobre todo en el lenguaje de
programación Ruby, pero los conceptos deben ser aplicables a todos los idiomas.
? Para los programadores con experiencia en procesamiento de Unicode la
respuesta corta a la pregunta es que la longitud de Tweet se mide por el número
de puntos de código en la versión normalizada de la Conferencia Nacional de
texto. Si eso es demasiado geek, siga leyendo y explicaré. Si eso no es demasiado
geek debe aplicar para trabajar en equipo internacional de Twitter.
? Codificación de caracteres de Twitter
? Todos los atributos Twitter aceptar UTF-8 texto codificado a través de la
API. Todas las codificaciones de otros deben ser convertidos a UTF-8 antes de
enviarlos a Twitter a fin de garantizar que los datos no está dañado.
? Definición de un conjunto de caracteres
? Mientras que Wikipedia tiene un artículo para un personaje (informática) es un
equipo muy técnico y vaga definición de propósito. La definición que nos interesa
aquí no es la definición general de un personaje de la informática, sino más bien la
definición de lo "carácter" se entiende cuando se dice "140 caracteres".
? Para muchos píos todos los personajes son un solo byte y esta página no tiene
ninguna utilidad. El número de caracteres en un Tweet será igual a la longitud en
bytes del texto. Si utiliza nada más allá de las cartas más básicas, números y
puntuacion la situación se vuelve más confuso. Mientras que muchas personas
utilizan caracteres kanji multi-byte para ejemplificar estos temas, Twitter se ha
encontrado que las vocales acentuadas causan la mayoría de confusión debido a
los oradores Inglés simplemente esperar que funcionen. Tomemos el ejemplo
siguiente: \ la palabra "café". Resulta que hay dos secuencias de bytes que se ven
exactamente igual, pero utilizar un número diferente de bytes:

 ÊÊ    Ê   Ê ÊÊ   Ê  Ê 


 ÊÊ        Ê  ÊÊÊ  ÊÊ
? Conteo de Caracteres
? Conceptos generales
? El "café" ya se mencionó antes se plantea la cuestión de cómo contar los
caracteres en la cadena de Tweet "café". Para el ojo humano es claramente la
duración de cuatro caracteres. Dependiendo de cómo se representan los datos
podría ser cinco o seis bytes UTF-8. Twitter no quiere sancionar a un usuario por el
hecho de que usamos UTF-8 o por el hecho de que el cliente de la API en cuestión
utiliza la representación más tiempo. Por lo tanto, Twitter no cuenta "café" de
cuatro personajes, no importa que la representación se haya enviado.
? Casi todos los métodos de entrada del usuario se convierten automáticamente la
versión de marca ya que combina en la versión compuesta, pero la API de Twitter
no se puede contar con eso. Incluso si lo hiciéramos pasar por alto que la longitud
en bytes del carácter "e" es de dos bytes en lugar de la que cabría esperar. A
continuación hay alguna información más específica sobre cómo conseguir que la
información fuera de Ruby / Rails, pero por ahora me ocuparé de los conceptos
generales que deben estar disponibles en cualquier idioma.
? El estándar Unicode cubre mucho más que una lista de caracteres con números
relacionados. Unicode proporciona una lista de "puntos de código" (
 À 
3 ), que es la º notación a veces se ve. El estándar Unicode
también proporciona varias maneras diferentes para codificar los puntos de código
(UTF-8 y UTF-16-son ejemplos, pero hay otros). El estándar Unicode también
proporciona información detallada sobre cómo hacer frente a cuestiones de
carácter como clasificación, expresiones regulares y de importancia a esta
cuestión, la normalización.
? La combinación de los signos diacríticos - Un Preludio a la normalización
? Por lo tanto, de vuelta en el café, el tema de múltiples secuencias de bytes con el
mismo-la representación en pantalla fue leí rápidamente por la derecha. Hay una
sección completa de las tablas Unicode dedicado a la "combinación de diacríticos
Marcas" (véase que el Unicode "bloque" aquí). Estos no son personajes de pie,
sola, sino que el adicional "signos diacríticos" que se añaden a los personajes de
base, en muchos idiomas. Por ejemplo el ¨ sobre la ü, común a Alemania, o la ~
sobre la "ñ" en español. Hay una gran multitud de combinaciones necesarias para
cubrir todos los idiomas del mundo para Unicode proporciona algunos bloques de
construcción simple, la combinación de diacríticos Marcas.
? A los personajes más comunes (como é, ü y compañía) también hay un personaje
sólo para la combinación. Las razones por las que son en su mayoría históricos,
sino desde que existe, es algo que siempre tendrá que tener en cuenta. Esta
rareza histórica es la razón exacta de los dos "café" representaciones. Si miras
hacia atrás en las representaciones verás uno usa 0x65 0x81 0xCC, donde 0x65 es
simplemente la letra "e" y> 0xCC 0x81 es la combinación de diacríticos para
Marcos ". Puesto que hay múltiples maneras de representar lo mismo usando el
Estándar Unicode Unicode proporciona información sobre la forma de normalizar
las distintas representaciones múltiples.
? La normalización Unicode
? El estándar Unicode proporciona información sobre diferentes tipos de
normalización, Canonical y compatibilidad. Hay una descripción completa de las
diferentes opciones en el estándar Unicode Anexo # 15, el informe sobre la
normalización. El informe de la normalización es de 32 páginas y abarca el tema
en gran detalle. La reproducción de todo el informe aquí sería de poco uso muy así
que en vez nos centraremos en lo que la normalización está utilizando Twitter.
? Twitter cuenta la longitud de un Tweet utilizando el   p
p^    p
¦^
 versión del texto. Este tipo de normalización favorece el uso de una
combinación de carácter plenamente (0xC3 0xA9 cafetería del ejemplo) sobre la
forma versión larga (0x65 0xCC 0x81). Twitter también cuenta el número de puntos de
código en el texto en lugar de UTF-8 bytes. El 0xC3 0xA9 del ejemplo es un punto de
código cafetería (U +00 E9) que se codifica como dos bytes en UTF-8, mientras
que 0x65 0x81 0xCC es de dos puntos de código codificado como tres bytes.
? Información específica de la Lengua
? Información específica de Ruby
? En Ruby 1.8 caracteres de varios bytes se apoyan a través de la Active`upport::
multibyte clase. Esa clase proporciona un método para la normalización de Unicode ,
pero lamentablemente los resultados de la longitud método no intuitiva. Para
algunos ejemplos echa un vistazo ahttp://gist.github.com/159484 ... esto fue en
realidad el script utilizado la hora de solucionar cuestiones de carácter contar en la
base de código en Twitter. Después de la experimentación se muestra en lo
esencial por encima nos quedamos con el siguiente código para el control de la
longitud Tweet (menos otros comentarios que lo rodean, que son una versión
reducida de esta página):
?  1p 
 1p6p%  p DDp 
DDp7 'p p
3  5pDpp>pp 1 p
? ppp

? Información específica de Java


? Java fue el lenguaje utilizado por el Unicode Consortium para el ejemplo de cómo
hacer la normalización. El código original, junto con una demo del applet, se puede
encontrar en http://unicode.org/reports/tr15/Normalizer.html.
? Perl Información específica (y una herramienta de línea de comandos)
? La World Wide Web Consortium (W3C) proporciona una herramienta de línea de
comandos escritos en Perl para llevar a cabo la normalización de caracteres. La
información sobre la última versión de esta herramienta se puede encontrar
en http://www.w3.org/International/charlint.
? Información específica de PHP
? En la normalización de PHP se puede realizar por la clase Normalizer

? Tweet Entidades
? Tweet texto potencialmente se pueden mencionar otros usuarios, listas, contienen
las direcciones URL, y contienen hashtags - de hecho, aproximadamente el 50%
de los tweets contener por lo menos uno de ellos.
? Los desarrolladores que quieren entender el texto tweet tiene que analizar el texto
para tratar de extraer de ellas las entidades (que es especialmente difícil cuando
se trata de caracteres Unicode) y luego tener que hacer otra llamada REST
potencialmente para resolver esos datos. Matt Sanford (@ mzsanford) en nuestro
equipo internacionalización publicado el texto-la colección de Twitter para ayudar a
hacer análisis más fácil y estandarizada (de hecho, nosotros usamos esta
biblioteca), pero en el equipo de la plataforma se preguntó si podíamos hacer esto
aún más fácil para nuestros los desarrolladores.
? Como parte de nuestro JSON y XML cargas útiles, vamos a empezar a apoyar a
un atributo de las entidades que contendrá esta información analizada y
estructurada.
? En este tiempo son entidades opt-in y sólo está disponible para los métodos de
control temporal de la API. En el futuro, las entidades serán incluidos de forma
predeterminada.
? Cada entidad extrae también incluirá los índices que indican en qué posiciones de
carácter de la entidad fueron extraídos de los Tweet original, un medio útil para el
entrenamiento de su aplicación de análisis propios.
? Como siempre, es importante ser tolerante con los nuevos campos y vacío /
valores nulos en todas las devoluciones.
? Representación XML
? En este ejemplo, el contenido original de la Tweet fue: "RT @ mashable @
LinkedIn refuerza sus Twitter Integración [FOTOS] http://bit.ly/bkB7cA LinkedIn #
tweets twitter # #" - observe cómo las menciones @, enlace y hashtags
representarse a sí mismos en la entidades elemento del estado:
? G IpG IpKp#$pp
p))))p#)D*)D))p#)*)pGEIp pGIp
*92(()@9pGEpIpG?IppOp pOp/,p 6  5p p' p
,1 Lp0,7pDEEpPp
E<%p/,pQp'pQpGQp' pEp
?IpGpG Ip 6A DEE' p  A 6 ' Ip'pGEpIp
GEp IpGp p6 pGIpEp IpG 
 IpGEp
 
 IpG 
  IpGEp 
  Ip
G6 Ip6 pGEp6 IpG 
 IpGEp
 
 IpG   IpGIp*#*2)pGEpIpGIpp 
p
GEpIpG IppGEp IpG LIp0Dp9)$@$###p;
())@2(pGEp/IpG Ippp pppp
#p p>p p6L1 6pp+
pp  p
p 1p
p p pp/ppp,  p
p%p& pGEp Ip
G 6 1 Ip
DEE*'1E 6 1E$*9@$92)E  .1pGEp
 6 1 IpG IpDEEpG''' 
pEp IpG Ip6 p
GEp 1IpG6 '  Ip*#$(pGEp6 '  Ip
G 6 1    Ip666666pGEp 6 1    Ip((99p
GG 6 ?  IpEIp 6 ?  pG 6    Ip))))))pGEp
 6    IpGp 6  6   Ip6pGEIp
 6  6   pG 6      Ip))))))pGEIp
 6      pG6  Ip*@@$pGEp6  Ip
G Ip p3p)$p#)D)9D*)p))))p#))2pGEIp pG6  Ip
#22pGEp6  pGIp 66Ip;*2)))pGEp 66IpG5Ip p
 p>p>>00p
p7MpGEIp5pG 6 1  1 Ip
DEE*'1E 6 1  1E$)2#9$E*99@;*;>)*2#99.1p
GEp 6 1  1 pIp6 pGG 6 1   IpEIp
 6 1   pG6Ip6 pGEp6IpG1 Ip
6 pGEp1 IpG 6Ip6 pGEp 6IpG6 '1Ip pGEp
1 IpG  Ip#$@9pGEp  pGIp 1IppGEp 1Ip6 p
GG    IpEp    IpGEp   IpG1EIp
G EIpG EIpG   EIpGIp  p6 p
GG  IpAp *# p pAp  IpGIp@#$(*pGEpIpG Ip
G pEp p  p0p7 pGEIpGEpIpG  p
A ## p  p A * IpGIp*)(2#pGEpIpG Ip/,p
GEp p  p/,pGEpIpEp  IpGEp  Ip
G IpG pA 2 p A $ IpG IpDEpEp
E<%pGEp IpGEp Ip
GEp0/IpG1pG1IpA @ p A 29 IpG?IpG/,pEp?IpGEp
1pGIpAp6p1p *)* p pAp @9 IpG?Ip'pGEp?IpGEp
1IpG1pA **) p A *)# IpG' pG?IpEp?IpGEp1Ip
GEp1IpGEpIpGEp Ip

? Representación JSON
? En este ejemplo, el contenido original de la Tweet fue: "Ayuda con el derrame de
petróleo usando @ # appcelerator de titanio y el impresionante @ intridea Reporter
Petróleo API. Http://bit.ly/dCueLT" - observe cómo las menciones @, enlace y
hashtag representan a sí mismos en laentidades elemento del estado:

?  7  Dp p 1 Dp p  


   Dp p 6  Dp
' p '  Dp   Dp 
 Dp 0  p   DpPp
;2*@@*p#2$(@()*p 1 Dp 
 Dp 0  p   DpP#2$(@()*p;
2*@@*p  
   Dp p 6  Dp Gp 6pApH ppDpEpEpHp
''''p  pApH p6 'pHp Ip' pGEpI p    Dp Dp
DEE  6  p  L Dp , p> p  p
6 '  p Dp#)( p5p D pp p>p>>00p
p7Mp  p
/ 5Lp D p p&/p  p6p Dp6  p6  p Dp
2( p 6      p D p&&&&&&p  p 6 1 p D p
DEE'1E 6 1E(29(9$*E     1p  p
  p Dp( p 6    p D p&%%9*@p  p
 6 1    p D p666666p  p 1p D pp  p
 6 1  1 p D p
DEE'1E 6 1  1E229(*$*E' ;1.1p  p
6  p Dp9 p 6 ?  p D p(&(&(&p  p p pDp
  6 p      Dp6 p 1  Dp p
 6 1    Dp6 p  1 Dp6 p  Kp Dp6 p
  Dp p*2pp1p))))p*$D#)D(2p#))2p  p
 6  6   p D p&&&&&&p  pp D p  &%7 p  p 6p
Dp6  pp Dp*(2@#( p 66p Dp;*2))) p 
 p
Dp  p p D pK  p#$pp
p))))p#)D(D*#p#)*)p  p
   p Dp  p& p Dp6  p p Dp6  p Dp
*92$(@#@) pp  Dp p 1 Dp p D p
DEE' E*E1EE9)(@(@$*92@.p  p 1?p Dp p

p D p0 J1p  p p DpPPP;2*99929p#2$9)*$#pP;2*9$@2p
#2$9)*$#pP;2*9$@2p#2$@))(pP;2*99929p#2$@))(p
  p D  p&0//3%>p D p% p 1p&/p  pp D p
% p 1p p  
 Dp >>00 p  Dp 9)(@(@$*92@ p
J Dp /p>p0pp%K  p  
 Dp   p
 
  Dp p ? Dp %
pp p pp L p
pOpQp   ppp
p p pOp p  p
0 L p%0,pDEE
E7 /p  p   p Dp p p D p
DEE 11  1Ep  p Lp D p6' p% p
p  p+p
% p p0p&,8,p  p6 '  p Dp2( p5p D pp
 p>p>>00p
p7Mp  p/ 5Lp D pHp ))Dp@$*9p;29(*((#p
 p6p Dp6  p6  p Dp$@ p
 6      p D p2#@ (>p  p 6 1 p D p
DEE*'1E 6 1E$9(##$)@2E907  .1p p
   Dp*2@*p  6    Dp )#<(( p
 6 1    Dp (##$ p 1 Dp  p
 6 1  1 Dp DEE'1EE*#9*99*)E1pEp
E(E116p  p6  p Dp*)@ p 6 ?  p D p
>99*(p  p p D p ''p  p    p Dp6  p
1 p Dp  p 6 1   p Dp6 p  1 Dp6 p
 Kp Dp p   Dp ##pp
p p))))p#D*9D9#p#)) p
 6  6   Dp @@77 p  Dp % 'pC p  6 p
Dp6 p  Dp$#9**#p 66 Dp;*2)))p  
  Dp
 p   Dp K  p#$pp
p))))p#*D)#D(2p#)*) p  Dp
  DpP Dp DEE
E7 / p J DpP**p*p 1 Dp
P J DpP$#p*p ? Dp  p   DpP J DpPp
*$p   Dp   6 p  Dp   &%7  p  Dp*(2@#(p
 J DpP92p$*p   Dp    p  Dp %   p
 Dp@$$#(#p J DpP22p@p   Dp   p  p D p
, p,p  pp Dp*99(((92 p 
p Dp  p& p Dp
6  p p Dp6  pp Dp*922**###) p 1 p Dp  p
 
 p Dp  p?p D ppOp  6 Dp%
pp p
 pp L p pOpQp   ppp
p p pOp
 p  p0 L p%0,pDEE
E7 /p p

Streaming Documentación de la API


Introducción
El Twitter Streaming API permite el acceso en tiempo real, cerca de varios subconjuntos
de estados públicos Twitter. Los desarrolladores se les anima a leer toda la documentación
relacionada con el presente documento a fondo.
? Conceptos
? Métodos y parámetros de consulta
? Los códigos de respuesta HTTP

Pre-lanzamiento Lista
Antes de lanzar tu aplicación Streaming API, nosotros recomendamos que a través de esta
breve lista de verificación.
1. No intencionalmente tratando de eludir los límites de acceso y los niveles?
2. Crear el número mínimo de conexiones?
3. Evitar la duplicación de datos de acceso?
4. Copia de seguridad de los fracasos: ninguno para desconectar primero,
segundo de la red repetidas (TCP / IP) los temas a nivel, a pocos minutos de
repetir HTTP (4XX) los códigos?
5. Uso de conexiones de larga duración?
6. Tolerante a otros objetos y saltos de línea en el flujo de margen de beneficio?
(No <status> objetos ...)
7. Tolerante de mensajes duplicados?
8. Uso de JSON, si es posible?

API de búsqueda de documentación


 : A partir del 01 de abril 2010, la API de búsqueda proporciona una opción para
obtener los "tweets popular", además de tiempo de búsqueda en los resultados reales. En
una próxima versión, esta se convertirá en el predeterminado y clientes que no desean
recibir tweets popular en sus resultados de búsqueda tendrán que explícitamente
señalar. Véase el parámetro tipo_resultado abajo para más información.
  : Los identificadores de usuario en la API de búsqueda son diferentes de los
de la API REST (sobre las dos APIs). Este defecto está siendo controlada por Número
214. Esto significa que el campo y from_user_id to_user_id varían de que el usuario
realmente id en Twitter.com. Las solicitudes se tienen que realizar una búsqueda basada
en el nombre de pantalla con los usuarios / mostrar método para obtener el ID de usuario
correcto si es necesario.
URL
http://search.twitter.com/search.formato
Formatos soportados
json, átomo
métodos apoya la solicitud de
GE
Requiere autenticación
falsas qué se trata »de autenticación
Califica Limitada
verdadera tasa de limitar »
Parámetros
Necesario
? qConsulta de búsqueda. En caso de presentar una URL codificada. Las consultas se
verá limitado por la complejidad.
m http://search.twitter.com/search.json?q = @ NoRadio
Opcional
? de devolución de llamadap  ppp p?D^ . Si corresponde, la
respuesta se utiliza el formato JSONP con una devolución de llamada del nombre de
pila.
? langRestringe tweets a la lingüística, dado por un código ISO 639-1.
? lugarEspecifique el idioma de la consulta que está enviando (sólo ja es actualmente
efectiva). Esto está pensado para clientes específicos de lengua y el valor por defecto
debería funcionar en la mayoría de los casos.
m http://search.twitter.com/search.json?locale=ja
? rppEl número de tweets a ida y vuelta por la página, hasta un máximo de 100.
m http://search.twitter.com/search.json?rpp=100
? páginaEl número de página (a partir de 1) para volver, hasta un máximo de alrededor
de 1500 resultados (basados en * la página rpp).
m http://search.twitter.com/search.json?page=10
? since_idDevuelve resultados con un ID mayor que (es decir, más reciente que) el ID
especificado. Hay límites para el número de tweets que se puede acceder a través de
la API. Si el límite de Tweets haya producido desde el since_id, el since_id se verán
obligados a la más antigua de identificación disponibles.
m http://search.twitter.com/search.json?since_id=12345
? hastaFacultativo. Devuelve tweets generados antes de la fecha determinada. Fecha
deben tener el formato AAAA-MM-DD.
m http://search.twitter.com/search.json?until=2010 03 28
? codificación geográficaDevuelve tweets de los usuarios ubicados en un radio determinado
de la libertad dejada / longitud.La ubicación es preferentemente tomando de la API de
Geotagging, pero caerá de nuevo a su perfil de Twitter. El valor del parámetro
especificado por "latitud, longitud, radio", donde las unidades de radio deben ser
especificados como cualquier otro"mi"(millas) o"kilometros"(kilómetros). Tenga en
cuenta que no puede utilizar el operador de cerca a través de la API para códigos
geográficos lugares arbitrarios, pero usted puede utilizar esta codificación
geográfica parámetros para buscar, cerca de la codificación geográfica directamente.
m http://search.twitter.com/search.json?geocode=37.781157, 122.398720,1 millas
? show_userCuando cierto, antepone ": "Al principio del paño de lana. Esto es útil para los
lectores que no se muestran de campo autor Atom. El valor predeterminado es falso.
? tipo_resultadoFacultativo. Especifica qué tipo de resultados de búsqueda que preferiría
recibir. El actual por defecto es "mixta". Los valores válidos son:
m mixtos: Incluir popular tanto tiempo real y los resultados en la respuesta. 
m recientes: devolver sólo los resultados más recientes en la respuesta
m populares: devolver sólo los resultados más populares en la respuesta.
m http://search.twitter.com/search.json?result_type=mixed
m http://search.twitter.com/search.json?result_type=recent
m http://search.twitter.com/search.json?result_type=popular
Ejemplo peticiones
JSON
*
#
   DpP

ppppp ? D Op' pDHpEHpE
HpE 61 
9
ppppp    DÑ £
(
ppppp   D ' %0, 
$
ppppp 6   D .  

ppppp  D
2
ppppp
@
pppppp    D    
Œ
pppppp  ' DpŒ
**
*#
* ppppp
*9 ppppp  DŒ
*( ppppp 6    DŒÑÑÑ
*$ ppppp  1 1 D  
* ppppp 6  D Gp 6pA DHEHE' HE Ip' pGHpEI 
*2 ppppp  6 1 D DHpEHpE5'HpE'   Hp
*@ E 6 1HpE**29*#)HpE#(###*(#(6)*((  .1 
£ ppppp   D Cp)2p% p#))@p*@D##D*)p)))) 
#* pppppp  pp
## ppppp  D 
# ppppp ? DŒ Ñ  £
#9 ppppp 6  D FppAp*92))@#$ppp9)' !pA 
#( ppppp   1 DŒ
#$ ppppp ?1 D Fp1pAp#pp?pAp*92))@#$pppA!p9)'  
# ppppp   D  ь 
#2 ppppp 0M1 DŒ
#@ ppppp   D !p9)'  

ppppppppp

Extendido Discusión
^pp:
? cadenas de consulta debe URL codificada.
? Las consultas pueden ser limitados por la complejidad
? Algunos usuarios pueden estar ausentes de los resultados de búsqueda.
? El since_id parámetro será eliminado a partir del elemento next_page ya que no es
compatible con la paginación. Si since_id se extrae una alerta se añadirá a avisarle.
? Este método devolverá un error HTTP 404 si since_id se utiliza y es demasiado viejo
para estar en el índice de búsqueda.
? Si tiene problemas para la construcción de su consulta, utilice el formulario de
búsqueda avanzada para construir su búsqueda, a continuación, agregue el
formato. Por ejemplo http://search.twitter.com/search?q=twitter se convertiría
en http://search.twitter.com/search.json?q=twitter
? Las solicitudes deberán tener un significativo y único agente de usuario al usar este
método. Un Referente HTTP se esperaba, pero no es obligatorio. Búsqueda de tráfico
que no incluye un Agente de Usuario serálimitada tasa a menos llamadas a la API por
hora que las aplicaciones, incluido un agente de cadena de usuario.
? Después de 01 de abril 2010 tenemos una nueva función para el retorno de tweets
popular en beta. Después del período de prueba el valor de tipo_resultado = mixta se
convertirá en el predeterminado.
- p :
? Que contengan una palabra: http://search.twitter.com/search.atom?q=twitter
? Desde un usuario: % http://search.twitter.com/search.atom?q=from 3Aal3x
? En respuesta a un usuario (Tweet comienza con @ mzsanford): %
http://search.twitter.com/search.atom?q=to 3Amzsanford
? La mención de un usuario (tweet contiene @
biz): http://search.twitter.com/search.atom?q 40biz% =
? Con un contenido hashtag (hasta 16
caracteres): http://search.twitter.com/search.atom?q 23haiku% =
? Combine cualquiera de los operadores entre
sí: http://search.twitter.com/search.atom?q=happy+hour&until=2009-03-24
? Proveniente de una
aplicación: http://search.twitter.com/search.atom?q=landing+source:tweetie
Dpp2:
La mayoría de los operadores de búsqueda se puede utilizar con las consultas de la API.
p :
? OR para combinar consultas:
m Mencionar @ twitterapi o Twitter @: http://search.twitter.com/search.atom?q =
40twitterapi + O + 40twitter%%
? Negación: lugar - en frente de la operadora.
m Hacer referencia a un usuario, pero no de ese usuario: %
http://search.twitter.com/search.atom?q=dougw+-from 3Adougw
,1 pp:
? desde: y hasta los operadores:
m desde: devolverá un HTTP 404 si se es demasiado viejo
m hasta que: no puede ser en el futuro
m desde: y hasta que: no aceptan la negación (-) la operación
? filtro: operador de enlaces:
m Estos resultados están limitados a 7 días
? fuente: operador:
m Estos resultados están limitados a 7 días
m consultas debe contener al menos un parámetro con la palabra clave de
la fuente: operador
? lang = operador:
m Estos resultados están limitados a 7 días
? ubicación del operador:
m Estos resultados están limitados a 7 días
? cerca de operador:
m no se puede utilizar la API de búsqueda
? operador de códigos geográficos:
m no es compatible con la disyunción (OR)
^pplos metadatosp pp:
Los metadatos nodo a veces contienen una tipo_resultado campo con un valor de cualquiera
de las recientes "o" popular "- aunque otros valores puede ser posible en el futuro. Popular
resultados son obtenidos por un algoritmo que calcula Twitter, y hasta 3 se publicará en
"modo mixto" en la parte superior del conjunto de resultados. resultados Popular incluirá
también otro nodo de metadatos llamado "recent_retweets" y se indicará cómo retweets
muchos tweet fue otorgado recientemente. El nodo de metadatos contienen más campos
como el paso del tiempo.
 pppp2
Para los reproductores de cliente usando la búsqueda lateral, de forma predeterminada la
primera solicitud podría incluir resultados populares. Si desea mostrar todo esto puedes
usar el atributo tipo_resultado visualmente a diferenciarlos. Si no desea mostrar estos
siempre puede pasar el tipo_resultado "parámetro con un valor de" recientes ", junto con
su solicitud y que nunca ser incluidos.
En el caso de que usted les está mostrando, es posible que no quieren no los vuelva a
mostrar cada vez que actualiza widget. Cada carga resultado incluirá el since_id que
puedes usar en posteriores solicitudes para obtener los resultados más recientes. Si usted
está usando este since_id (que cumple todos los widgets de búsqueda debe), entonces los
resultados populares serán excluidos en las solicitudes posteriores. El valor since_id
específicos para pasar a la cadena de consulta está incluido en la carga útil. Estos son
algunos ejemplos en diversos formatos:

? ?D^:
6  Dp FppAp@#@)@229pppAp p
? # :

A  E ? pG p
 6A DEE ' E FAA@#@)2#) p
 A 6  EIp
? :
G' D 6  Ip
DEE ' E  FAA@#@)($22pGEp' DIp
6  p

Twitter @ Anywhere es una de implementar una solución fácil para llevar la plataforma de
comunicación Twitter a su sitio. @ En cualquier lugar promueve una base de usuarios más
comprometida para su sitio. Utilice @ en cualquier lugar para añadir Siga Botones,
Hovercards, Linkify nombres de usuario de Twitter, y construir más profunda integración
con "Conectar a Twitter".
ß^ p.4 Pruebe la @ en cualquier lugar desarrolladores la lista de correo

% pp
Lo primero es lo primero, usted va a necesitar una aplicación cliente registrado con Twitter
para comenzar. Si bien puede utilizar una aplicación existente, es recomendable que cree
uno nuevo para @ en cualquier lugar. Para funcionar, la [ 


 la propiedad
de su solicitud debe contener el subdominio y el dominio de la aplicación web utilizando @
en cualquier lugar.
Crear un @ en cualquier lugar »de aplicación
En cualquier página HTML que desea utilizar @ en cualquier lugar, simplemente incluya
una <script> etiqueta se sitúan en nuestros recursos en cualquier lugar @ JavaScript
en 4
À . . 
 .', adjuntando su clave de API (id =) y En cualquier
lugar de la @ versión (v =) que desea utilizar como parámetros de consulta en la
URL.
 p# p  p  ppp* p .*$-p pp
ppp ppp# p pp . (Para más información sobre por
qué esto es importante, ver las Mejores Prácticas sección de abajo.)
GRp 7B0>p/IpG IpGIpGp; A 7;
 pA ?E Sp
 A 6;2 IpG Ipp    p 1 pp. pGEp IpG p pAp p
DEE 6 ' E
' .FAB 0%0,=>BA*p 
pA p?pEp
. p IpGEp IpGEpIpG
IppGEp
IpGEp Ip
ppp

El archivo JavaScript @ en cualquier lugar, establece un objeto global único (twttr). Para
usar en cualquier lugar @, llame a la cualquiermétodo, y pase una devolución de
llamada. La devolución de llamada recibirá una instancia de la API de cliente de Twitter
(llamada "T" por convención) como único argumento. Toda la @ en cualquier lugar las
funciones están disponibles como miembros de la API de cliente de Twitter. Por ejemplo,
para utilizar Hovercards simplemente llame al hovercards método:
Ejemplo de inicialización

A ?E.  IpG p' 
' p6 Lppp  p
SSpGEp Ip
ppp

Cualquier página puede tener varias llamadas a la cualquier método. El ejemplo siguiente
realiza dos llamadas al lugar método, una para Hovercards, y otro para crear un botón
Seguir.
GRp 7B0>p/IpG IpGIpGp; A 7;
 pA ?E Sp
 A 6;2 IpG Ipp    p 1 pp. pGEp IpG p pAp p
DEE 6 ' E
' .FAB 0%0,=>BA*p 
pA p?pEp
. p IpGEp IpGEpIpG p
A ?E.  IpG
Ip' pp
p    p 1 p6 Lppp  pSSpGEp Ipp
GA 6 ';   IpGpEpIpG p
A ?E.  Ip' pp
    p 1 p6 Lppp Qp1 pp  ppL p
6 '< pTp    p 1 TSSpGEp IpGEp
IpGEp Ip
ppp

(p p p p


1 p
? Auto-Linkification de nombres de usuario de Twitter
? Hovercards
? Siga botones
? Tweet Caja
? Inicio de sesión y registro
Auto-Linkification de nombres de usuario de Twitter
@ Anywhere proporciona una manera conveniente para vincular nombres de usuario de
Twitter en su sitio web o aplicación de vuelta a la página de perfil en Twitter.com un
usuario. Un nombre de pantalla de Twitter es un símbolo '@' seguido de 1 a 20 caracteres
alfanuméricos, incluyendo guiones bajos (" _ "). X # o X $ y dos ejemplos de nombre
de usuario de Twitter.
Para automáticamente nombres de usuario Linkify Twitter, simplemente
llame T.linkifyUsers ():

A ?E.  IpG p' 
' p6 Lppp 6
0 p
SSpGEp Ip
ppp

Llamadas linkifyUsers de esta manera tratar de Linkify todos los posibles usuarios de
Twitter en el <body> de la página.
Para limitar el alcance de lo que es linkified, simplemente pasar un selector CSS a la API
de cliente de Twitter (T). Por ejemplo, para Linkify sólo los nombres de usuario de Twitter
se encuentra en un elemento con el id de "-esto-" contenido Linkify, pase el selector "#
Linkify-este de contenido" a T:

A ?E.  IpG p' 
' p6 Lpppp Qp/6
;p
 p 6
0 pSSpGEp Ip
ppp

*
 [0"
@en cualquier parte fue posible gracias a @DED, @dsa, @todd, @danwrong, @NoRadio,
y al resto de la @Twitter equipo.
linkifyUsers, y la mayoría de nuestros otros métodos de la API, tomar algunas opciones de
configuración adicional. Por ejemplo, por defecto, los nombres de usuario linkifying se
ajustará emparejado nombres en un elemento ancla con una clase de "twitter-en cualquier
lugar del usuario": <a class='twitter-anywhere-user'> </ a>. Usted puede especificar un
nombre de clase alternativo pasando un objeto literal y establecer el valor de
la className propiedad a nombre de la clase deseo. Por ejemplo, para cambiar la clase a
"mi-tweep":

A ?E.  IpG p' 
' p6 Lpppp Qp/6
;p
 p 6
0 p 3Dp ;'pTSSpGEp pIp
ppp

Hovercards
Hovercards son una característica que se puede ver en Twitter.com y ahora están
disponibles para los desarrolladores a través de @ en cualquier lugar. Un Hovercard es
una, sensible al contexto pequeña descripción que proporciona acceso a los datos acerca
de un usuario de Twitter. Hovercards también permite a un usuario para decidir acerca de
un usuario de Twitter como seguir y unfollowing, así como alternar actualizaciones del
dispositivo.
r  
@en cualquier lugar fue posible gracias a @DED, @dsa, @todd, @danwrong, @NoRadio,
y el resto de la @twitter equipo.
La forma más fácil para que Hovercards en un sitio web o aplicación web es llamar
simplemente la hovercards método:

A ?E.  IpG p' 
' p6 Lppp  p
SSpGEp Ip
ppp

Por defecto, el hovercards método implícitamente llamar a la linkifyUsers método contra el


cuerpo del documento. Hovercards será habilitado en mouseover para todas las etiquetas
de anclaje se pongan en venta el nombre de clase demora aplicado por
el linkifyUsersmétodo (}

 5 6 7 
- 
  
 89 }
9).
Hovercard las opciones de configuración
Para limitar el alcance de Hovercards donde aparecen, simplemente pasar un selector
CSS a la API de cliente de Twitter (T), a continuación, llamar a la hovercards método. El
siguiente ejemplo ilustra la forma de limitar Hovercards a un elemento con un id de
"principal de contenido":

A ?E.  IpG p' 
' p6 Lpppp Qp  pp
 p  pSSpGEp Ip
ppp

c  0" 


  
Como se mencionó anteriormente, el hovercards método implícitamente llamar a
la linkifyUsers método contra el cuerpo del documento. Si los nombres de usuario de
Twitter ya se han linkified del lado del servidor según el mismo patrón utilizado por
el linkifyUsers método, entonces es posible para impedir la hovercards método de linkifying
usuarios superando un literal de objeto como un argumento al llamar ahovercards y ajuste
de la Linkify propiedad a falsas.

A ?E.  IpG p' 
' p6 Lpppp Qp  pp
 p  p/6
Dp6 SSpGEp Ip
ppp

   (


Usar la inferir opción para activar Hovercards en elementos cuyo texto contiene un nombre
de usuario de Twitter. Cuando el inferir opción se utiliza, el hovercards método no llamará
a la linkifyUsers método. Esto es útil cuando los nombres de usuario de Twitter ya se han
linkified por cualquier otro medio. Por ejemplo: <a ...> Siga @ biz en Twitter </ a>
El siguiente ejemplo ilustra cómo utilizar las inferir opción.

A ?E.  IpG p' 
' p6 Lpppp Qppp

p  p' p  p6  Dp SSpGEp Ip
ppp

  


  (
El nombre de usuario función permite una Hovercard de activarse con un elemento cuando
el nombre de usuario de Twitter es parte de un elemento de atributos (como el título) en
lugar de texto interno del elemento. Para especificar un nombre de usuario función
simplemente pasar un objeto literal a la hovercards método, pasando una referencia de
funciones como el valor para el usuario la propiedad. La función se le pasará una
referencia al nodo DOM que hacía juego con el selector de pasar a la API de cliente de
Twitter (T). La función se puede realizar ninguna lógica (recorridos, atributo búsquedas,
manipulaciones) necesarias para extraer y devolver el nombre de usuario. Nota: Al igual
que lainferir opción, cuando el nombre de usuario se utiliza la opción,
el hovercards método no llamará a la linkifyUsers método.
En el siguiente ejemplo el nombre de usuario función está definida para extraer un nombre
de usuario de Twitter en el texto de un elemento de imagen alt atributo.

A ?E.  IpG p' 
' p6 LppppLp QIp
1 p  p pp   Dp6 pp p  SSpSp
GEp Ip
ppp

El uso de cualquiera de las inferir o nombre de usuario opciones, no llame a


la linkifyUsers método. Para Linkify y añadir Hovercards de los nombres de pantalla
desconectó además de Hovercards a otros elementos, puede llamar al hovercards método
tantas veces como sea necesario.

A ?E.  IpG p' 
' p6 Lppp  pSpp
 Qppp
p  p' p  p pp   Dp6 p
pp p  SSSpGEp Ip
ppppp

% r  


   
 
 
Por defecto se muestra un Hovercard usuario un nombre, nombre de usuario de Twitter, y
la ubicación. Cuando el usuario hace clic en el botón "Más" en un Hovercard, se expandirá
para mostrar información adicional, como usuario de la bio y su último Tweet. Para hacer
Hovercards en este estado ampliado de forma predeterminada, pasar un literal de objeto
como un argumento al llamar a la hovercards método y establecer la propiedad ampliado
en true.

A ?E.  IpG p' 
' p6 Lpppp Qp  pp
 p  p Dp SSpGEp Ip

Siga botones
Siga botones facilitan que los usuarios de su sitio o aplicación con una manera de seguir a
los usuarios en Twitter. Agregar Siga botones a su sitio web o aplicación web es muy fácil:
sólo tienes que llamar T pasa, en el selector de indicar dónde desea que el botón Seguir a
aparecer, y llame a la followButton método de especificar un nombre de usuario de Twitter.
El siguiente ejemplo pone un botón Seguir para el usuario de Twitter llamado @ twitterapi
en el <span> elemento con un id de "seguimiento twitterapi":
A 6 ';'  IpGpGEppG p
A ?E.  IIp
' 
' p6 LppppTQp1 p' pUp6 '< p p
' p SpSpGEp Ip
ppp

 

Twitter @ en cualquier lugar Siga botones son inteligentes en que reflejan si el usuario
actual ya sigue el miembro. Si el usuario ya está siguiendo el usuario para un determinado
botón Seguir, la etiqueta del botón se actualizará con el texto "Estás siguiendo @" nombre
de usuario.Si el usuario intenta seguir un usuario de Twitter que está protegido, el
seguimiento de la etiqueta del botón se actualizará con el texto "el por @ username" en
espera de Seguimiento. Por último, si hubo un error cuando un usuario intenta seguir a una
persona, el seguimiento de Button etiqueta se actualizará para decir "No se pudo seguir @
nombre de usuario"
Tweet Caja
La caja permite a los usuarios de Twitter Tweet Tweet directamente desde su sitio web o
aplicación web. Para utilizar la caja de Tweet, llame Tpasa, en el selector de indicar dónde
desea que el cuadro Tweet a aparecer, y llame a la tweetBox método.
En el ejemplo siguiente coloca un cuadro en el Tweet <div> con el id de "TBox":
GpA ? IpGEpG pIp
A ?E.  Ip' 
' p6 Lpp
pp Qp<? p'<?pSSpGEp Ip
ppp

Configuración de la Caja Tweet


La Caja ha Tweet varias opciones de configuración. Todas las opciones de configuración
se establecen a través de un literal de objeto se pasa como un argumento a
la tweetBox método.
El siguiente ejemplo ilustra cómo configurar un cuadro de Tweet con una anchura a
medida, altura y el contenido predeterminado.
GpA ? IpGEpG pIp
A ?E.  Ip' 
' p6 Lpp
pp Qp<? p'<?p1Dp*))pDp9))p6 7Dp G p
>&%0/pC>>< 8p7 3>3, p JI SSpGEp Ip
ppp

La siguiente tabla muestra todas las opciones de configuración de la caja de Tweet.


O 
    

           

   -  p 

p 

pp  
pppp
pp

  pp 
 
p p


  
p pp p 
ppp pp pp p

  
p
pp p 
ppp pp ppp


  p p p p  p 

ppp p pp  p
O 
    

           

  p pp p


 p „ „„p p  p    pp  ppp

pp p p
pp  pp
p ppp p p

O  „ „p „ „„p   pp  p


p  pp  p
pppp pp pp  p

 p p
  pp  p  p p
p pp p

  D p „ „„p  pp


pp
pp

 p
 
pp p   p pp
pp   
p  pp  !pp
  ppp
p  p
p    ppppp
p

pp  p  ppp  p
  p

Éstos son algunos ejemplos de cómo hacer Tweet Cajas.


)
Advertencia: Estos son viveros pío. Si Tweet - se le pío.
Defecto
Costumbre
Inicio de sesión y registro
Algunos @ en cualquier lugar funcionalidad no requiere el usuario para acceder a Twitter o
autorizar su sitio de acceso. Una vez ejemplo sería ver perfil de Twitter de información en
un determinado una Hovercard. Otras funcionalidades, como ser capaz de seguir un
usuario en Twitter a través del seguimiento del botón,  requiere el usuario el usuario
para acceder a Twitter y autorizar su sitio de acceso. Cuando se conecte el usuario y la
autorización  necesario, en cualquier lugar @ maneja todo eso para usted fuera de la
caja.
El "Connect with Twitter" botón proporciona un método para autenticar a los usuarios de
forma segura con Twitter, cediendo su aplicación con un testigo de acceso para su uso en
llamadas a la API.
La adición de "Conectar con Twitter" para su aplicación es fácil: sólo tienes que
llamar T pasando por un selector que indica donde desea que aparezca el botón, y llame a
la ConnectButton método.
Por ejemplo, el siguiente lugar una "Conectar con Twitter" en el botón <span> elemento
con un id de "entrada":
A 1 IpGpGEppG p
A ?E.  IIp' 
' p6 Lp
ppp Qp 1 p7< pSSpGEp Ip
ppp
"Conectar con Twitter" botones tienen una gama de tamaños para elegir: medianas,
grandes, pequeñas Xlarga. "Medio" es el tamaño predeterminado. Usted puede especificar
el tamaño de la siguiente manera:
A 1 IpGpGEppG p
A ?E.  IIp' 
' p6 Lp
ppp Qp 1 p7< p5Dp 1  SpSpGEp Ip
ppp

Custom "Conectar con Twitter" Botón


Si la apariencia por defecto de la opción "Conectar con Twitter" botón no se ajustan a sus
necesidades, @ en cualquier lugar hace que sea fácil de construir un botón personalizado.
La API de cliente de Twitter (T) pasa de nuevo a cada twttr.anywhere de devolución de
llamada tiene uncantanto método que proporciona toda la funcionalidad de la norma
"Connect with Twitter" botón. Para construir una costumbre "Connect with Twitter" botón
simplemente crear un botón utilizando HTML y CSS y obligar a un detector de eventos
click que llama al método cantanto. Por ejemplo:
G p
A   pA 1; Ip7 pp' pGEIpG p

A ?E.  IpLp' 
' p6 Lppp
 1> <
,p ; pp pAp6 pp1,p
SSSpGEp p Ip

Conectado con flujo de Twitter


Si los usuarios de su sitio web o aplicación web ya está registrado en Twitter, haciendo clic
en la opción "Conectar con Twitter" botón popup una ventana que contiene la pantalla en
cualquier lugar seguro @ autorización.

Si el usuario ha iniciado sesión en a Twitter, la opción "Conectar con Twitter" botón


popup una ventana que contiene la pantalla en cualquier lugar seguro @ autorización que
solicita al usuario que tanto acceder a Twitter, así como autorizar a su solicitud de acceso.
La determinación del Estado de Conexión
@ Anywhere proporciona varias maneras de determinar cuando los usuarios de su sitio
web o aplicación web ha entrado en Twitter y autorizada su solicitud de acceso.
? Uso de la authComplete y SignOut Eventos
? Trabajar con el usuario actual
  V
 "1 
@ Anywhere proporciona una authComplete y SignOut caso de que se puede utilizar para
determinar si procede o no a los usuarios de su sitio web o aplicación web ha entrado en
Twitter y autorizada su solicitud de acceso.
Utilizando la opción "Conectar con Twitter" botón es posible obligar a los oyentes, tanto
para el authComplete y SignOut eventos a través de un literal de objeto se pasa
al ConnectButton método. Oyentes de la authComplete se pasan al usuario conectado
como un solo argumento.
A 1 IpGpGEppG p
A ?E.  IIp' 
' p6 Lp
ppp Qp 1 p7< p 7 Dp6 p   pEpEp
p p  p ppK?p1 Dp6 ppEpEp
p p p   p p pLSSpGEp Ip
ppp

El authComplete y SignOut eventos también son accesibles a nivel mundial en el cliente de


la API de Twitter ejemplo (T), que te permite escuchar por ellos cuando son activados
por 
- @ en cualquier lugar funcionalidad. El siguiente ejemplo muestra cómo
añadir detectores para el mundial authComplete y SignOut eventos:

A ?E.  IpG p' 
' p6 Lpppp
  7  p6 pp   pEpEpp p  p p
pK?Spp 1 p p6 ppEpEpp p p   p p
pLSSpGEp Ip
ppp

*    


El isConnected método se puede utilizar para determinar si el usuario ya ha iniciado sesión
ha autorizado a su sitio web o aplicación. Cuando el usuario está conectado
el CurrentUser propiedad se puede utilizar para recuperar información sobre el usuario
conectado. El usuario tiene un objeto de datos método que se puede pasar una cadena
que representa el propertyto recuperar.
El siguiente ejemplo ilustra cómo usar jQuery y @ en cualquier lugar para mostrar
condicionalmente ya sea una  3  O  botón, o el usuario de la pantalla el
nombre y la imagen de perfil si ya han autenticado.
A ' ;;   IpGpGEppG p
A ?E.  IIp
' 
' p6 Lppp p7 0 p 3p 6 ,1p
 6 ,11Sp6p7pppAp7 0 p 0 Sp 3p
 0 pApT TSp 6 ,1p 0 pAp
T 6 1 TSp 6 ,11pAp G1p AT p p p 6 ,1p TEI SpVp
T' pQp;Jp pp p,6pp p p 6 ,11 p
 3p Sp pp ' pQp;  ppL p7< p
SSpSpGEp Ip
ppp

Una vez que el usuario ha autorizado la zona receptora, @ en cualquier lugar establecerá
una cookie denominada "twitter_anywhere_identity" que contiene el id del usuario
conectado. Usted puede leer esto en el lado del servidor para aprender usuario el DNI. El
formato de la cookie es:
 Dp6 p
Al leer las cookies en el servidor, usted debe usar la firma para verificar que esta
información proviene de Twitter. Calcular la firma si se añade el user_id dado a tu secreto
de los consumidores y la creación de un OAuth hexagonal SHA1. Si esto coincide con la
firma en la cookie de identidad de la ID de usuario se verifica. Por ejemplo, en Ruby:
1DDp%*?1p  p   p p

Cierre de sesión del usuario actual


Al aplicar la @ en cualquier lugar, se recomienda que proporcione el usuario actual un
medio de cerrar la sesión. El twttr.anywhere.signOut () método se puede utilizar para iniciar
la sesión del usuario actual a cabo.
El siguiente ejemplo ilustra cómo crear un simple signo de botón.
G p
A   p A ' 
' 1 S Ip  pp' pGEp
 Ip

Otro caso de uso para el isConnected y twttr.anywhere.signOut () métodos sería mostrar


condicionalmente ya sea un "Conectar con Twitter", o cerrar la sesión en función botón en
el usuario registrado en el estado.
El siguiente ejemplo ilustra cómo usar jQuery y @ en cualquier lugar para mostrar
condicionalmente ya sea un "Conectar con Twitter", o botón de cerrar la sesión en tiempo
de carga de la página.
A 1; 1  IpGpGEpIpG p
A ?E.  Ip.- 
p6 p
p' 
' p6 Lppp6p7ppVpp 1pQ;  p
L ppTG pA 1  p
A   Ip  pp' pGEp
 ITSpVp Qp1  pp   p p6 Lpp' 
' 1 p
SSp pp 1pQ;  pL p7< pSSSpGEp Ip
ppp

Aquí está el mismo ejemplo, pero usando YUI 3 y @ en cualquier lugar para mostrar
condicionalmente ya sea un "Conectar con Twitter", o botón de cerrar la sesión en tiempo
de carga de la página.
GpA 1; 1  IpGEpIpG p
A ?E.  IpB0,pp p
  p6 pBpBp  
p6 pp' 
' p6 Lpp
p6p7pBp 1pQ;  pL ppTG p
A 1  p
A   Ip7 p pLpp' pGEp IpTSpBp Qp
1  pp   p6 pp' 
' 1 pSSp pp Qp
1; 1  pp7< pSSSSpGEp Ip
ppp

Propiedades del objeto de usuario


Cuando el usuario está conectado el CurrentUser propiedad se puede utilizar para
recuperar información sobre el usuario conectado. El usuario tiene un objeto de
datos método que se puede pasar una cadena que representa la propiedad para
recuperar. La siguiente tabla proporciona una lista completa de las propiedades del objeto
de usuario.
  



  O


 "  #
" 
p p
  



  O


 p p


 "  " 
p p

  
"  p  
p

p p

"! p p

 "  p  
p


"  p  
p


 " #" 
p p

  "  p  
p


 " p p

   p -  p

 
"  p  
p


 "  
" " 
p p



" p -  p

    p -  p


  p -  p


 " "
p p

 " p -  p


 "  #
" "
p p


 "  
"

" 
p p


p p

  p p
  



  O


p p


" p p

    p  
p


  p -  p


 "  #
" p -  p

-p%# p
Tras el user-agent "flujo" aplicación de la especificación de OAuth 2,0, después de que un
usuario se autentica a través de @ en cualquier lugar la ventana de acceso a Twitter, por
defecto, redireccionar a la dirección URL de la página que ha disparado la autenticación
con el fin de ofrecer el acceso símbolo para el navegador. Cuanto mayor sea el
anywhere.js archivo se encuentra en la página, más rápido que puede procesar el token de
acceso. (Para más información sobre OAuth 2,0 y el user-agent "flujo", léase En las
portadas de OAuth 2,0 en Facebook por Luke Shepard.)
Si bien la colocación de archivos JavaScript en la parte inferior de la página es una de las
mejores prácticas rendimiento del sitio web, al incluir el archivo anywhere.js, coloque
siempre el archivo como cerca de la parte superior de la página como sea posible. El
anywhere.js archivo es pequeño (<3 KB) y se entrega a la página GZIP. Además, todas las
dependencias en cualquier lugar para @ características se cargan de forma asincrónica, a
la carta para no afectar al rendimiento de la página de acogida. Con esto en mente, haga
las llamadas a la twttr.anywhere () método en la parte inferior de la página, o
inmediatamente después de la sección de contenidos a los que una determinada función
@ en cualquier lugar hay que aplicar.
Al colocar el archivo anywhere.js en la parte inferior de la página tiene varias
implicaciones. La primera, y más simple, es el rendimiento. Desde la página de acceso de
Twitter se redirigirá a la página de que originalmente provocó la autenticación, si el archivo
es un anywhere.js la parte inferior de la página que los usuarios verán el sitio original en la
ventana emergente cuando entrada la página de acceso de Twitter vuelve a dirigir después
de que el usuario ha autenticado. La ventana emergente finalmente se cerrará una vez que
el expediente de la anywhere.js parte inferior de la página se ejecuta. Esto, por supuesto,
es una experiencia de usuario pobre como es deseable que la ventana de acceso popup
debe cerrar lo más rápidamente posible después de que el usuario se autentica.
Además de introducir el usuario experimenta problemas, colocando el archivo anywhere.js
en la parte inferior de la página incorrecta puede resultar en página de estadísticas de las
herramientas como Google Analytics. Si la página de carga completa antes de la ejecución
anywhere.js archivo a continuación, cualquier página que activa la autenticación se contará
dos veces.
Utilizando una URL de devolución de llamada personalizados
Si no es posible colocar el archivo anywhere.js en la parte superior de la página, en
cualquier lugar @ se puede configurar para que el flujo de autenticación llamada a una
URL específica. Esto puede ser sólo una página en blanco, sino que debe incluir la
anywhere.js archivo y la URL de la página debe contener el subdominio y el dominio de la
aplicación web utilizando @ en cualquier lugar.
Para especificar una devolución de llamada personalizados, simplemente URL preceder a
la llamada a twttr.anywhere con una llamada al método de configuración, pasando de un
literal de objeto con la propiedad callbackURL establece en la dirección deseada. Por
ejemplo:

A ?E.  IpG p' 
' 61p 0/Dp
DEE'''
 E
' ;  Sp' 
' p6 Lppp
  ppSSpG Ip

Nota: La llamada a twttr.anywhere.config () debe preceder a la llamada a twttr.anywhere


(). Y la dirección de devolución de llamada debe contener el subdominio y el dominio de la
aplicación web utilizando @ en cualquier lugar.

 p p   pp(p p


 p p
Algunos quieren que sus ejecutores puede @ en cualquier lugar clave API para funcionar a
través de varios dominios o subdominios. De forma predeterminada, @ en cualquier lugar
sólo funcionará con el dominio especificado en la "Callback URL" campo del registro de la
aplicación.
Autorizar dominios adicionales para @ en cualquier lugar, va a comenzar sus aplicaciones,
y pulsando sobre el nombre de la aplicación en cualquier lugar @ desea configurar. A
continuación, seleccione  p  de la mano barra lateral derecha.
Puede introducir hasta 5 dominios adicionales aquí, escribiendo un nombre de dominio que
desea autorizar, en el campo correspondiente y haga clic en  $
. Asegúrese y
autorizar únicamente los dominios en los que confíe.

pp .p
Nuestro motor de selector de usos Sizzle debajo del capó. Sizzle tiene soporte para CSS
2.1, CSS 3 selectores. Consulte la documentación Sizzlepara obtener más información
sobre el soporte de selectores CSS.

 pp  p
Actualmente, @ en cualquier lugar compatible con la versión . Las versiones posteriores
de @ en cualquier lugar puede incluir nuevas características y / o cambios que puedan ser
incompatibles con el revés en versiones anteriores.
Al declarar un número de versión, que especifica la versión como un número entero se
traducirá en cualquier lugar @ utilizando la última versión disponible para ese número de
versión principal. Por ejemplo, si la versión actual disponible en cualquier lugar de la @ es
la versión 1.2.1, que especifica una versión de un @ se traducirá en cualquier lugar
utilizando la versión 1.2.1.
También es posible utilizar en cualquier lugar @ declarando un número de versión
específica. Indicando un número de versión específica para hacer de su integración en
cualquier lugar @ permanece en una versión deseada independientemente de la última
versión disponible.
Como se menciona en la sección Introducción Obtener el número de versión se puede
especificar como un parámetro de consulta al incluir la @ en cualquier lugar del archivo
JavaScript. También es posible especificar el número de versión como el primer
argumento cuando se llama allugar método. Esto hace que sea posible usar dos o más
versiones de @ en cualquier lugar al mismo tiempo.
GRp 7B0>p/IpG IpGIpGp; A 7;
 pA ?E Sp
 A 6;2 IpG Ipp    p 1 pp. pGEp IpG p pAp p
DEE 6 ' E
' .FAB 0%0,=>Bp 
pA p?pEp. p
IpGEp IpGEpIpG p
A ?E.  IpG
Ip' 
' p
 *#* p6 ppEpEp% p  p p Lp*#*Sp' 
' p *9 p
6 ppEpEp% p  p p Lp*9SpGEp IpGEp  pIpGEp Ip

D    p(p p p p p p


  p  p
Este método permitirá, en cualquier lugar de usar @ en una ventana diferente que no sea
la ventana principal. Por ejemplo, permitiendo @ en cualquier lugar en un iFrame
incrustado. Para configurar @ en cualquier lugar de destino a una ventana específica,
pasar un objeto literal como el primer argumento de la cualquier método que especifica la
ventana deseada como el valor de la ventana de la propiedad:

A ?E.  IpG p' 
' pDp
& p6 pp
EpEp> pL1p JSpGEp Ip

    p pp


La versión 1 de @ en cualquier lugar soporta los siguientes navegadores:
? Firefox 3.x
? Chrome 4
? Safari 4
? Opera 10
? Internet Explorer 6, 7 y 8
p

Tabla de contenidos
? ActionScript / Flash
? C++
? Clojure
? Coldfusion
? . NET
? Eiffel
? Erlang
? Java
? Javascript
? Lazo
? Objective-C/Cocoa
? Perl
? PHP
? PL / SQL
? Pitón
? Rubí
? Scala
? T-SQL
? VB.NET

ActionScript / Flash
? TwitterScript por Michael Galpin. AS3 API, originario de Twitter, ahora de código
abierto.
? SWX API de Twitter por los Balcanes de Aral.
? Tweetr por Sandro Duccesschi. AS3, apoya la API REST API de búsqueda, y el
acortamiento de URL.
? Coderanger por Petitt Dan. Flex / Aire OAuth biblioteca de clases.

C++
? QTwitLib por Lackey Bradley & Zolin MAKS. C + + biblioteca para Linux, Windows y
Mac. Actualmente en fase beta.
? Twitcurl por Mahesh. C + + que utiliza la colección de la biblioteca curl para la
interacción con Twitter API HTTP.

Clojure
? Clojure de cliente para la API de Twitter por Matt Revele
? Clojure Biblioteca para OAuth por Matt Revele

Coldfusion
? twitterCOM Michaels Quinn. Twitter Biblioteca de la Lengua CFML.
? CFTwitterLib por Pedro Claudio. Twitter componentes ColdFusion API.

. NET
? Yedda colección de Twitter por Yedda. Cada método de API de Twitter tiene un
equivalente. Método NET en esta biblioteca envoltura.
? API TwitterooCore por Eric Willis / RareEdge Grupo de Diseño. Binario. NET que se
puede utilizar en cualquier lenguaje. NET.
? Twitterizer originalmente por DigitallyBorn, pero ahora de código abierto. Escrito para.
NET 2.0.
? TweetSharp por Daniel Crenna. TweetSharp es una interfaz fluida a la API de Twitter
con una comunidad activa y la plena cobertura de las actuales características y
anunció API.
? LINQ to Twitter por Joe Mayo. Un proveedor de código abierto para la API de LINQ
Twitter
? CSharpTwitt por Hajariwala Himanshu. Twitter API de biblioteca en C #
? TwitterVB por Roelands Duane. Twitter API de biblioteca en VB.net

Eiffel
? Twitter Eiffel por Jocelyn Fiat

Erlang
? erlang_twitter por ngerakines. Un cliente de twitter Erlang.

Java
? Twitter4J por Yamamoto Yusuke. Una de código abierto, mavenized y Google App
Engine segura Biblioteca de Java para la API de Twitter, publicado bajo la licencia
BSD.
? java-twitter por DeWitt Clinton. Pura interfaz java de la API de Twitter.
? jtwitter por Daniel Winterstein. De código abierto de Java pura interfaz de Twitter.
? Twitter cliente por Gist, Inc. Java cliente para conectarse a la API de streaming.
? Twitter API ME por ernandesmjr.

Javascript
? TwitterHelper por Daniel Glazman
? SpazCore por Finkler Ed. Una fuente del componente de biblioteca abierta para la
construcción de escritorio y aplicaciones móviles en tiempo de ejecución web (AIR,
Titanio, WebOS). Incluye una biblioteca de Twitter.

Lazo
? [] Twitter por Jason Huck.

Objective-C/Cocoa
? MGTwitterEngine por Matt Gemmell. Twitter biblioteca con OAuth y apoyo xauth para
Mac OS X y el desarrollo del iPhone.
? Canarias por Toumpelis Nick. Se trata de un cliente totalmente hecha y derecha, con
apoyo a los usuarios en última m.
? ShareKit es una participación de propósito general para el contenido de la colección de
Objective-C por Nate Weiner (@ IdeaShower), el apoyo a Twitter OAuth, entre otros
servicios.

Perl
? App:: Tweet McAdams por Josué. Tweet en Twitter desde la línea de comandos.
? Net:: Twitter por Marc Mims. Interfaz Perl para Twitter.
? :: Twitter Net:: Lite por Marc Mims. Ligero Twitter API de la biblioteca.
? Twitter:: Shell por Maki Daisuke. Twitter desde tu shell.

PHP
? Mi Twitter por Andres Scheffer. Establecer y recuperar el estado del usuario de Twitter
una.
? Twitter por Oghina Félix. Actualizar el estado de un usuario de Twitter.
? TwitterLibPHP Poliey por Justin. Manipular una cuenta de usuario de Twitter.
? Arc90_Service_Twitter por Matt Williams. El código abierto Twitter API de cliente.
? PHP Twitter por Aaron Brazell, código original de David Billingham.
? PEAR Services_Twitter por Tocón Joe y Jean Louis David.
? Twitter PHP por Tijs Verkoyen. Licencia BSD.
? Twitter-async por Jaisen Mathai. Envoltura de la API de Twitter OAuth que ofrece
llamadas asincrónicas.
? API Library CodeIgniter por Haughin Eliot.
? Phirehose por Bailey Fenn. Una biblioteca para la API de Streaming
? TwitterOAuth por Williams Abraham. La primera colección de PHP para apoyar
OAuth. MIT licencia.
? oauth_twitter por Basil Brassily Thoppil.

PL / SQL
? OraTweet por Portugal Noel. Procedimientos PL / SQL para obtener línea de tiempo
amigos y actualizaciones posteriores.

Pitón
? OAuth-python-twitter2 por Konpaku Kogasa. Combina python-twitter y OAuth--twitter
python para crear una evolucionado OAuth Pokemon.
? python-twitter por DeWitt Clinton. Esta biblioteca proporciona una interfaz de Python
puro para la API de Twitter.
? python-twyt por Andrew Price. Licencia BSD biblioteca de interfaz API de Twitter y el
cliente de línea de comandos.
? twitty-twister por Dustin Sallings. Una interfaz de trenzado en Twitter.
? twython por Ryan McGrath. REST y la biblioteca de la búsqueda inspirada en python-
twitter.
? Tweepy por Roesslein Josh. Apoya OAuth, API de búsqueda, Streaming API.

Rubí
? Twitter4R por Susan Potter. Abrir biblioteca de código Ruby para la API REST Twitter.
? Twittery Ledet por Chris. Ligero clase para la API de Twitter.
? Twitter por Nunemaker Juan. Comando twits línea y de una capa utilizando api hpricot.
? Grackle por Hayes Davis. Apoya OAuth, API de búsqueda, API REST. Resistente a los
cambios de la API.
? TwitterLand por Joyce Bradley. Apoya la relacionada con las API de Twitter de
Seguimiento de Costos, Twitter Grader, el Sr. Tweet, Twinfluence y TwitterCounter.

Scala
? hablando-frailecillos por Dave Briccetti.

T-SQL
? # SQL (SQLSharp) por Rutzky Salomón. Una biblioteca SQLCLR de funciones y
procedimientos, algunos de ellos para Twitter.

La inclusión en la -  p  no es un endoso o recomendación de estas


organizaciones en Twitter. Además, dicha inclusión no es la intención de implicar, directa o
indirectamente, que las organizaciones están de acuerdo o tienen alguna afiliación con
Twitter.
p

Los siguientes desarrolladores han expresado su interés en el trabajo independiente de


desarrollo de aplicaciones para la API de Twitter. Por favor, comuníquese con ellos
directamente para preguntar por su capacidad para ayudar a desarrollar una aplicación de
Twitter para sus necesidades. Tenga en cuenta que estos desarrolladores son miembros
de la comunidad y no están afiliados con Twitter en cualquier capacidad oficial.
^ a p
a p ? O ppp
? O pp 
 p ? º pO º   p
   ppOpp  p p
p pp p p ppp
! " p pp p pp p  p pp p#p

p p p$pp%&p

a 
    p { a p
? O pp
p ? O pp
p
? º p p ? º p+, p
$'$(p)(ppp%&pp(p*p p p-O  p

c  p
 p ? O pp 
p
? O pp.
 p ? º p 
p
? º pp p89 p p)
(p  p p%$Op:;<=(p<p>(p%8pp7$.p p8 pp
/0p1p2 p p  p 
p %  p,334p5 p p
p#p 6p. 7(pO  pp% p  pO p#p ppp p?O p) p$  ?p7 p$ (ppp p p
  (pp 8ppp<p>p p

p

$
$
p
`c p
? O pp p
? O pp p
? º p p
? º p+ Bp
ºp@p  
p pOp:$Ap p<)(p%$O(p
) 9pO  (pO ppO *.$(ppp pp$'$p
 p p7  =(p$'$pp<pp<Op

$   p  a p
? O pp   BC+p ? O pp  p
? º p p ? º p  F p
$'$(p%&(pDE(p'O(pD%p $'$p

a     p
   
 p
? O pp  p
? O pp
p
$'$(p%&G(pEG(p (pE'OG(p<%%p< p pOO<  pG@ ppO(p ? º p 8  p
*(p< Hp $'$(p%&(p*(pE(p (pE'O(p<%%(p pppp  I=p<p pO . p pp
  (p$6  p- (pp

c    p  $


pp
? O pp p ? O pp;p
? º p   p ? º pp
&p  ppD8p< p pDO (pp p pp pD8p$Ap p #pppp$'$pO9ppp ppp  p pp  pp
O p-p Dp p

   p


{ pp
? O pp  p
? O pp@p
? º p  p
? º p @
p
<p  pp pp  (p5 (ppp  p p$p < p p
$p  pO (p*
8p<pp$'$p < p p5$%O p
 p

{

{  p  

  p
? O pp p ? O pp@@p
? º p p ? º p p
$'$(p%&pp  p<   p p
p pp  (ppp< p ppF< pO p% ppJ8(pº p

$ 
 p
p
? O ppD p
? O pp   p
? º p  p
? º p    p
pp  p.    p pp  " 6p p      p pO  p<   p p
$'$(p<.(pD%(p%&(p$p
% $ pp< O pº  ppp pº p

p
p   ` $ p
   p ? O pp  p
? O pp
 p ? º p   
  p
? º p 
 p ' ppF=p< p< p p  (pp  p
p' pO p$Ap pp

 p
. (p$'$(pE(pD%(p%&p

  c p
[ a p p
? O pp   p ? O pp
p
? º p       p ? º p    p
$'$(p%+p < p p    p

^ {  p [


  p
? O pp p ? O pp 3+,p
? º p//B p ? º p   p

  p a p


? O pp< p ? O pp  p
? º p      p ? º p  p

p
c  p
  p
? O pp
  p
? O pp  p
? º p 
 p
? º p  p


  p d
 p
? O pp  p ? O ppp
? º p   p ? º p  p

` [  p
? O pp'  p
d  `
 p
? º p      p
? O pp  p
p   ppp  p p ppp p   p   pp  p
   p p    p  O. .   p

{
 p
c ^ p
? O pp.@p
? º p   p ? O pp) 
 p
A 
  p p    p p$'$p p pp%  (p  pOp < p p  p

 ppp  ppp p pO p)
pp<$'$pO9p
   ppp p p
 p8 p

`  p [  p


? O pp 
p ? O pp p
? º p      
p ? º p    p
<p>pp   8 p7  p
p< p pO 
p DEpp
p  @  (p$'$(p%&p

$
  p p
^    p
? O pp%A5$D)Ap
? O pp p
? º pD <  p
< . (pD%*(p%p%&(p%&(p.  p p/,p1p2 p p  p< p p ? º p   p
   (p  (p "   pº  ppO(p. p A   (p   p p  pp* 8F<(p< (pD8ppOp

D  p
? O pp p
 p
? º p  p
? O pp 3p
p
? º p p
A pp  pp$'$p p  pp$'$pp%&(p* pp
pp pp$'$p p(p  pp$p
Opp<pp   (p pp/ p%pp
) (p pºp


a p
 ` 
p
? O pp /BKKp
? O pp
p
? º p 
  p
? º    p
%$O(pD8 (pDE(p%&p<  pp    p

`
a
p $ p
? O pp%p ? O ppp
? º p  p ? º p   p
pp  (p$'$p $'$(p%&(pD8 (p<%%(p'Op

a   p  ^p


? O pp  p ? O ppp
? º p   (p   p ? º p   p
$'$(p%&p<%%p p$ p$p $(p)(p'O(p<%%(pD%p <pp  8 p

p
p
 p
á  !p
? O pp  p
? O pp@p
? º p   p
? º Gp
  p
*%L33(p<(ppp  pp p$%ppA-p% pp%L33 (pp pppp 8 pp
(p (p$ p
   p   p8ppO p

$  p c """p
? O ppDp ? O pp p
? º p    p p  p5p  pMNp
pO(p pp"    (ppp<p>p+3pº pp pp  (p$'$(p%&G(p* 8F<(p< p< p p   pp
$  pGA&p   p

$ `# p `


  p
? O pp
p ? O pp@ p
? º p 
 p . (p. (p%+(p%$pp$'$p

d  p
$    p
? O pp;  p
? O pp p
? º p    p
? º p  p
 % p+(p<(p<p>(p$'$(p%&(p  @ pE(p ppA @pp) 2p
<  pp p
7p<  ppO  p

* d `p
p Œ  Œp

? º p   p ? O pp ppp

? Vp  p   p ? º p/3


p  p    p

VppOA& ppO'8 p 


pp  p

$ { p
 
  p
? O pp p
? O pp5ºVp
? Vp  p  p
? º p    p
V p p  p

p,3p"  p pp1p2 p p  p$'$p$p$pD% p p
H p pLp2 p p  p ppDpVp1p1p'Op%pEp
)p%"p
D%*p p pp p p  p pV ppººp

a  p
$
   p
? O pp  p
? O pp p
? FpPp  p pP  Qp Qp p
? º p " p
? º p   p
   ppO ppp  p p  p?  p  ?ppp
$'$p%pD ppDEppp   p p p)
p

>   p
$
 p
? O pp p
? O pp  p
? º p   p
? º p    p
$'$p%pD% p % p+p. p. p
$'$p%pDEp* p
2 p p
p p p$p  p p  pp  p

* `
p
? O pp p
pp
? º p   p
Vp  ppp  pppH  p p%p$p pO p

La inclusión en el ppp  no es un endoso o recomendación de


estas organizaciones en Twitter. Además, dicha inclusión no es la intención de implicar,
directa o indirectamente, que las organizaciones están de acuerdo o tienen alguna
afiliación con Twitter.

También podría gustarte