Vi skal da ha en API

Før eller siden laver vi et API således andre kan begynde – rent teknisk – at interagere med mitkbh og bruge indholdet i andre sammenhænge.

Men hvordan gør man lige det?

Jeg har ikke lavet en API før, men jeg kan da sagtens klampe noget sammen – men der må da være nogen der har tænkt nogle tanker her, således vi ikke laver alle begynderfejlene.

Er er nogen der har erfaringer eller tommelfingerregler omkring dette?

Og hvad ville egentligt være interessant at kunne?

10 svar til Vi skal da ha en API

  1. Nu er MitKbh jo godt startet med en API, ved at begynde på microformats. Ide/tanker “Can Your Website be Your API?” Drew McLellan (2006)
    http://allinthehead.com/retro/301/can-your-website-be-your-api (slideshow) hent podcast

    [audio src="http://muffinresearch.co.uk/wsg/audio/06/10/19/drew.mp3" /]

  2. Kasper siger:

    Hvis det skal være nogenlunde let at udvikle og udvikle op imod lyder REST som en god idé. Blinksale og gutterne fra 37signals har nogle gode eksempler på hvordan det kan gøres.

  3. luckow siger:

    @Søren
    Det ser interessant ud – jeg kiggede sliden igennem, men kan se at jeg bliver nødt til at høre podcasten for at få hans pointer.
    Dog tror jeg ikke lige at microformats umiddelbart kan løse de krav til API’en som jeg påtænker. Det er jo meget bygget op omkring at man kan linke enkelte ting sammen, men det jo lidt sværere hvis man fx skal kunne se alle anmeldelser i en given kategori.

    Nu har jeg kigget meget kort på REST, og det ser sådan set enkelt nok ud.
    Dog synes jeg måske at det er lidt mere besværligt for slutbrugeren at komme i gang med (pga. at man skal skrive HTTP headers. hvilket jo gør, at man ikke lige kan teste løs i browseren) – især fordi jeg egentligt ikke havde tænkt mig at man skulle kunne poste data til sitet, men nærmere bare hente en masse informationer ud (men måske kunne det andet også være interessant?)

    Er der fx noget galt i, at man bare kan tilgå nogle sider som spytter XML ud som man så kan arbejde videre med?
    Det er simpelt ad H til, men vil vel virke til langt det meste?

    Nå, men jeg vender tilbage når jeg er blevet lidt klogere.
    Inspiration ønskes stadig🙂

  4. Kasper siger:

    luckow:
    Hvad adskille det scenarie, du beskriver fra REST? Det at tilgå en side i en browser er jo netop et GET request. Om mitKBH skal understøtte POSTing må jo indtil videre være op til jer🙂.

    Fx. kunne http://mitkbh.dk/api/users/1.xml returnere information omkring dig i XML, mens http://mitkbh.dk/api/locations/search.json?node_type=4&text=gin returnerer et søgeresultat for barer der matcher søgeordet “gin” i JSON.

  5. Morten siger:

    Jeg kan godt lide simpeltheden i last.fm API’et
    http://www.audioscrobbler.net/data/webservices/

    Til at gå i gang med med det samme. Ingen besværlige soap-pakker. Test i browseren.

    De sjoveste udtræk for mig ville være “steder der minder om x” og “anmeldelser af sted x”. Måske ville jeg lave noget med GPS.

  6. luckow siger:

    @Morten
    Vi har også besluttet at gå efter en meget simpel REST model, så det bliver ligesom Last.fms services – noget der kan testes i browseren og manipuleres med forskellige querystrings.

    Vi vender tilbage med flere detajler når vi har noget parat😉

  7. Martin siger:

    Synes måske i skulle overveje jeres REST model igen. Udvikler man i sprog som ASP eller PHP er det muske udemærket men benytter man fx ASP.NET eller J2EE gør det ens liv meget lettere at benytte webservices baseret på SOAP og WDSL. Generelt er det jo en standardisering af jeres API i forhold til at lave Jeres egen standard. Og der er jo ikke noget i vejen for at men kan kombinere de to således at det også er muligt at sende almindelige POST/GET requests for dem der vil foretrække det.

    Jeg har tidligere udviklet APIer (godt nok var målrettet mod B2B) og har fortrudt at jeg har brugt en simpel post/get-xml metode.

  8. Martin siger:

    Og husk at overvej jeres designbeslutninger grundigt. Når først i har frigivet jeres API kan det ikke laves om igen.

  9. luckow siger:

    Hej Martin
    Vi har i hvert fald besluttet os til at versionere vores API på samme vis som Google har gjort med deres maps: http://www.google.com/apis/maps/documentation/index.html#API_Updates

    Dette hjælper i hvert fald delvist hvis vi pludselig finder ud af at API skal skrues sammen på en ny måde (så må man lave en version 2).

    Som udgangspunkt så bliver det en simpel REST API, men jeg kan sagtens følge dine argumenter.
    Lige nu er det nogle meget simple services, og hvis det har interesse, så kan vi sikkert også lave det som SOAP ret hurtigt.
    Hvis du har nogle gode ideer og gerne vil bruge SOAP så skriv til os på api@mitkbh.dk
    Så kan vi evt. lige mødes over en kop kaffe – jeg gider nemlig ikke at lave en SOAP service med mindre jeg ved at der er nogen der har tænkt sig at teste og bruge den samtidig.
    Desuden har jeg ikke meget erfaring med SOAP/WSDL, så råd fra erfarne folk ville da være meget velkomment🙂

  10. luckow siger:

    Så har vi lanceret vores api.
    Læs mere på http://api.mitkbh.dk/

%d bloggers like this: