Patrik Votoček

weBlog



Novinky na Ukáz.at

Ukáz.at – Logo

Když jsem nedávno psal o spuštění projektu Ukáz.at, tak jsem netušil, jak jeho návštěvnost zamíchá s prioritami a chutí programovat na něm nové funkce. První na programu bylo vyřešení několika bugů a to, že nahrávání obrázků v mobilní verzi nebylo úplně korektní. A „AJAX“ové nahrávání na MACku nefungovalo vůbec (děkuji Michalu Ševčíkovi, že mi dělal testera). První nával novinek je tu.

Mobilní verze

První novinkou, která už nějaký čas běží a informoval jsem o ní na twitteru, je mobilní verze. Pokud na Ukáz.at přistoupíte z mobilního telefonu, měli byste být automaticky přesměrování na http://m.ukaz.at, kde se také mobilní verze zabydlela.

Statistiky

Další novinkou, která už nějaký čas běží a informoval jsem o ní na twitteru, jsou statistiky pro jednotlivé obrázky. Ty jsou přístupné na adrese „urlObrazku/stats“, takže například http://ukaz.at/k/stats . K přegenerování dochází každých 10 minut, takže čísla jsou docela aktuální. (Statistiky nejsou v mobilní verzi k dispozici)

API

No a tou poslední novinkou, která je v provozu krátce, je API. Komunikace s API probíhá klasickými GET/POST HTTP požadavky a odpovědí je XML nebo JSON. Máte k dispozici celkem 3 funkce a tak se na ně pojďme podívat blíže.

Získání dat obrázku

Data k obrázku získáte jednoduše přistoupením na url:

http://api.ukaz.at/k/data.xml
nebo
http://api.ukaz.at/k/data.json

Kde k je kód vašeho obrázku. Pokud obrázek existuje a nebyl smazán, dostanete takovouto odpověď XML:

<ukazat>
<status>ok</status>
<code>200</code>
<slug>k</slug>
<url>http://ukaz.at/k</url>
<mobileurl>http://m.ukaz.at/k</mobileurl>
<statsurl>http://ukaz.at/k/stats</statsurl>
<full>http://ukaz.at/images/full/k.jpg</full>
<thumbnail>http://ukaz.at/images/thumbnail/k.jpg</thumbnail>
<mobile>http://ukaz.at/images/mobile/k.jpg</mobile>
<insert>2009-12-19 11:35:52</insert>
</ukazat>

JSON:

{"status":"ok","code":200,"slug":"k","url":"http:\/\/ukaz.at\/k","mobileurl":"http:\/\/m.ukaz.at\/k","statsurl":"http:\/\/ukaz.at\/k\/stats","full":"http:\/\/ukaz.at\/images\/full\/k.jpg","thumbnail":"http:\/\/ukaz.at\/images\/thumbnail\/k.jpg","mobile":"http:\/\/ukaz.at\/images\/mobile\/k.jpg","comment":null,"insert":"2009-12-19 11:35:52"}

Pokud obrázek neexistuje nebo byl smazán, dostanete XML:

<ukazat>
<status>error</status>
<code>404</code>
<message>Picture not exist</message>
</ukazat>

JSON:

{"status":"error","message":"Picture not exist","code":404}

Smazání obrázku

Pokud chcete obrázek smazat, použijte url

http://api.ukaz.at/k/data.xml?deletekey=xxxxxxxxxx
nebo
http://api.ukaz.at/k/data.json?deletekey=xxxxxxxxxx

Kde k je kód vašeho obrázku a xxxxxxxxxx je kód pro smazání. Pokud obrázek existuje a nebyl smazán a souhlasí mazací klíč, dostanete takovouto odpověď XML:

<ukazat>
<status>ok</status>
<code>200</code>
<message>Picture deleted</message>
</ukazat>

JSON:

{"status":"ok","code":200,"message":"Picture deleted"}

Pokud obrázek neexistuje nebo byl smazán, dostanete stejnou odpověď, jako pokud se ptáte na data k neexistujícímu obrázku. Pokud zadáte chybný mazací klíč, dostanete takovouto odpověď XML:

<ukazat>
<status>error</status>
<code>403</code>
<message>Bad delete key</message>
</ukazat>

JSON:

{"status":"error","message":"Bad delete key","code":403}

Nahrání nového obrázku

Nahrání nového obrázku provedete posláním multipart POST požadavku na adresu:

http://api.ukaz.at/upload.xml
nebo
http://api.ukaz.at/upload.json

s daty file aneb samotný soubor. A volitelně comment aneb komentář k obrázku. V případě úspěchu dostanete takováto data:

<ukazat>
<status>ok</status>
<code>200</code>
<message>Picture is uploaded</message>
<slug>k</slug>
<deletekey>xxxxxxxxxx</deletekey>
<url>http://ukaz.local/k</url>
<deleteurl>http://ukaz.local/k/delete/xxxxxxxxxx</deleteurl>
<mobileurl>http://m.ukaz.local/k</mobileurl>
<statsurl>http://ukaz.local/k/stats</statsurl>
<full>http://ukaz.at/images/full/k.jpg</full>
<thumbnail>http://ukaz.at/images/thumbnail/k.jpg</thumbnail>
<mobile>http://ukaz.at/images/mobile/k.jpg</mobile>
</ukazat>

JSON:

{"status":"ok","message":"Picture is uploaded","code":200,"deletekey":"xxxxxxxxxx","slug":"k","url":"http:\/\/ukaz.local\/k","deleteurl":"http:\/\/ukaz.local\/k\/delete\/xxxxxxxxxx","mobileurl":"http:\/\/m.ukaz.local\/k","statsurl":"http:\/\/ukaz.local\/k\/stats","full":"http:\/\/ukaz.at\/images\/full\/k.jpg","thumbnail":"http:\/\/ukaz.at\/images\/thumbnail\/k.jpg","mobile":"http:\/\/ukaz.at\/images\/mobile\/k.jpg"}

Pokud dojde k chybě, dostanete XML:

<ukazat>
<status>error</status>
<code>500</code>
<message>File must be image (png,gif,jpeg)</message>
</ukazat>

JSON:

{"status":"error","message":"File must be image (png,gif,jpeg)","code":500}

Kde část „message“ se mění v závislosti na tom, kde došlo k chybě. A může obsahovat toto:

  • Internal server error
  • File must be image (png,gif,jpeg)
  • Max file size is 20MB
  • Must send file

Závěrem

Napojení na twitter je v připravě. Pokud máte nějaké další nápady na vylepšení, do komentářů s nimi nebo mi pošlete e-mail.

0 komentářů


Zatím bez komentáře


Přidej komentář



cenzuruje váš poskytovatel připojení?

Kategorie

Čtu

Kamarádi