Jak na Foursquare, PHP a Azure

Pro páteční pražský Foursquare den jsem vytvářel aplikaci, která by zobrazovala počet čeknutých uživatelů současně s fotografiemi deseti těch naposledny čeknutých (tj. těch, co právě přišli).

Při tom jsem si prvně vyzkoušel základní práci s Azure, konkrétně s PHP na Azure. Jelikož se nejedná o tolik známou kombinaci, uvedu základní postup. Věřím, že někomu pomůže.

Azureapp

Začnětě zprovozněním Azure prostředí a stažením Eclipse s příslušnými pluginy, které udělají z Eclipse celkem rozumné IDE pro tvorbu PHP Azure aplikací. Stačí postupovat dle instrukcí na WindowsAzure4e.

Na zprovoznění jednoduché Hello World aplikace už existuje pěkný návod, takže nebudu opisovat, jen odkážu: Getting Started with Hello World. A dodám, že vám tak vznikne jednoduchý projekt se spoustou souborů pocházejících z ASP.NET (Global.asax, Web.config atd.) – těch si nemusíte všímat. Mezi nimi najdete index.php do kterého už můžete psát PHP kód, jak jste normálně zvyklí.

Eclipse

Aplikaci si pomocí volby Windows Azure – Run Windows Azure PHP Project in Development Fabric můžete spustít přímo na vašem lokálním stroji. Když budete chtít aplikaci nahrát do Azure cloudu, musíte už mít založený Azure účet.

V Eclipse vytvoříte balíčky pro nahrání projektu do Azure cloudu pomocí volby Windows Azure – Create Windows Azure Service Package for Windows Azure PHP Project.

Ve vašem Azure účtu vytvořte novou Hosted Service (tj. prostor pro váš projekt, kterému dáte název, URL, vyhradíte prostředky apod.), přímo z vytvářecího dialogu pak můžete nahrát vygenerovaný baliček. Po jeho nahrání do Azure musíte počkat několik minut. V konzoli na adrese https://windows.azure.com/default.aspx vidíte, zda je už projekt připraven.

Uvod

A to je pro prvotní zprovoznění aplikace asi všechno. Pokud budete aplikaci aktualizovat, můžete k tomu používat přímo Eclipse a volbu Deploy Windows Azure PHP Project to Windows Azure. K tomu je ale nutné vygenerovat cerfifikát a ten nahrát jak na Azure, tak do Eclipse (návod).

Pokud se nechcete tvorbou certifikátů zdržovat, můžete i nadále používat postup vygenerování balíčku přes volbu Create Windows Azure Service Package for Windows Azure PHP Project, který volbou Upgrade u vaší Hosted service v Azure konzoli jednoduše nahrajete.

A to je v základě vše, co jsem potřeboval. Výsledná aplikace beží na adrese http://4sqday.cloudapp.net/ Můžete si stáhnout i zdrojový kód. Není na něm nic složitého, obsahuje jedno volání Foursquare API (seznam čeklých uživatelů na daném venue), zpracování výsledků a jejich zobrazení.

Aplikaci můžete snadno použít i pro monitorování vašich vlastních Foursquare srazů. Stačí upravit venue ID na místo vašeho srazu, zadat API klíč k Foursquare API a případně upravit grafiku výstupu.

Na co byste si měli dát pozor

Tenhle kód bude správně fungovat jen na srazech s počem uživatelů do 500 (což je pro ČR v pohodě, protože takový počet uživatelů na jednom místě tu ještě nikdy nikdo neviděl 8-). Je to dáno Foursquare API, které v jednom volání vrátí jen 500 uživatelů.  Kdybyste chtěli zpracovat větší počet uživatelů, upravili byste kód, aby provedl za sebou tolik volání, kolik pětistovek uživatelů potřebujete zpracovat.

Druhá věc, která stojí za pozornost, je vypnutí kontroly cerifikátů HTTPS připojení pomocí CURLOPT_SSL_VERIFYPEER, 0. Foursquare HTTPS spojení je totiž podepsané autoritou, kterou PHP v Azure For Eclipse neumělo ověřit. Existuje cesta, jak to řešit (načíst do vaší aplikace čerstvou sadu kořenových certifikátů). Mně v tomhle případě o zabezpečení tolik nešlo, tak jsem jednoduše kontrolu vypnul.

A to je všechno. Víc se o pražském Foursquare dni dočtete na jeho Facebook stránce. Tak za rok naviděnou. Aspoň doufám 😎

Advertisements
Příspěvek byl publikován v rubrice Uncategorized se štítky . Můžete si uložit jeho odkaz mezi své oblíbené záložky.

Jedna reakce na Jak na Foursquare, PHP a Azure

  1. krystof_k napsal:

    Díky, to se bude hodit! 🙂

Zanechat Odpověď

Vyplňte detaily níže nebo klikněte na ikonu pro přihlášení:

WordPress.com Logo

Komentujete pomocí vašeho WordPress.com účtu. Odhlásit / Změnit )

Twitter picture

Komentujete pomocí vašeho Twitter účtu. Odhlásit / Změnit )

Facebook photo

Komentujete pomocí vašeho Facebook účtu. Odhlásit / Změnit )

Google+ photo

Komentujete pomocí vašeho Google+ účtu. Odhlásit / Změnit )

Připojování k %s