2009-05-03 13 views
7

Attualmente sto lavorando a un'applicazione che funziona con Twitter, ma durante lo sviluppo/test (specialmente quelle parti che non si basano molto sui dati di Twitter reali), mi piacerebbe per evitare di colpire costantemente l'API o pubblicare tweet spazzatura.Sviluppo/test delle app di Twitter senza sbattere l'API

Esiste una strategia generale che le persone utilizzano per semplificare l'utilizzo dell'API (il caching a parte)? Stavo pensando di lanciare la mia libreria che essenzialmente intercettava le richieste in uscita e restituiva false risposte, ma volevo assicurarmi che prima non mi mancasse nulla di ovvio.

risposta

11

Probabilmente inizierei prendendo in giro le parti specifiche dell'API necessarie per l'applicazione. In realtà, questo potrebbe davvero costringerti a proporre un design più pulito per la tua app, perché più o meno ti richiede di pensare alla tua applicazione in termini di "cosa" dovrebbe fare piuttosto che "come" dovrebbe farlo.

Ad esempio, se si utilizza l'API di ricerca di Twitter, è probabile che la propria applicazione non si interessi se si sta utilizzando l'opzione di formato JSON o Atom. La possibilità di cercare su Twitter utilizzando una determinata query e ottenere risultati indietro rappresenta la funzionalità che desideri, quindi dovresti prendere in giro l'API a quel livello di astrazione. Il formato di output è solo un dettaglio di implementazione.

Danneggiando l'API in termini di funzionalità anziché in termini di dettagli di implementazione di basso livello, è possibile garantire che l'applicazione esegua ciò che ci si aspetta che faccia, prima di connettersi effettivamente a Twitter. A quel punto, hai già verificato che l'app funziona come previsto, quindi l'unica cosa che rimane è scrivere il codice per fare le richieste REST e analizzare le risposte, il che dovrebbe essere abbastanza semplice, quindi probabilmente non finirai colpire Twitter con un sacco di dati spazzatura a quel punto.

2

Il caching è probabilmente la soluzione migliore. Oltre a ciò, credo che l'API sia limitata a 100 richieste all'ora. Quindi forse creare una funzione che continua a contare ogni richiesta e avvicinandosi a 100, dice, OK, ogni 10 richieste API estrarrò i dati. Non sarebbe difficile, probabilmente una funzione gradiente che si abbassa quando ci si avvicina al limite.

0

roba cache in un database .. Se la cache è troppo vecchia, richiedi i dati più recenti tramite l'API.

Pensate anche di ottenere il vostro account dell'applicazione elencato in bianco, vi permetterà di avere un limite di richieste di 20.000 API all'ora vs il misly 100 (che è fatto per un utente non un'applicazione).

http://twitter.com/help/request_whitelisting