Åtkomst till Foursquare API-data via OAuth och PHP

I denna korta handledning ser vi på att manipulera webbplatsdata med PHP. Foursquare erbjuder några bra verktyg för att komma åt deras hemsida API.

Vi arbetar med en öppen anslutningsteknologi OAuth för att verifiera användare i våra egna Foursquare-applikationer från tredje part!

Checkar in

Den senaste sociala medierna på nätet idag är inriktad på platsbaserat socialt nätverkande. Företag som Gowalla och i synnerhet Foursquare rinner av ett socialt nätverkskontrollsystem. För varje besök på din lokala shoppingplats, pizza shack, park eller skola kan du uppdatera din status och tjäna poäng för att låsa upp märken.

Nätverket pivotar reser världen i ett digitalt sortspel. Genom Foursquares mobilapp kan du köra ditt eget användarkonto, uppdatera incheckningar till Twitter eller Facebook, ladda upp foton och mycket mer! Antalet har ökat snabbt och Foursquares samhälle cirklar världen.

Nybörjarresurser

När du först börjar utveckla över Application Programming Interfaces finns det många hinder att övervinna. Genom några fantastiska artiklar innehåller Google-sökningar svaret på många av dina grundläggande frågor om PHP och API-anslutningar.

När jag diskuterar Foursquares API rekommenderar jag starkt deras Google-gruppforum. Den kommer med några FAQ-sidor och bra användargränser arkiveras över tiden. Mer specifikt erbjuder de web API-dokumentationen på ett elegant sätt för nybörjare och professionella.

För att komma igång behöver du en enkel PHP-webbinstallation. Om du har fjärrserverutrymme kan du alternativt vara värd för någon annanstans. Men om du är otålig och inte behöver tillgång till internet är det mycket enklare att installera en lokal servermiljö.

För Windows och Mac fungerar WAMP och MAMP-paketen oerhört bra. De installerar med PHP och MySQL-databasfunktioner som körs under Apache webbserverprogramvara.

Externa bibliotek och OAuth

Vi behöver bara några externa filer för att fungera effektivt med Foursquare. När du bygger en OAuth-applikation finns det många enkla steg som krävs för att komma igång. Detta är en öppen plattform byggd med förenklade standarder i åtanke.

Nedan följer en allmän översikt för en OAuth-anslutning:

  • Hämta förfrågan nyckel- och hemlighet från Foursquare API
  • Lägg till inloggnings / autentiseringslänk någonstans på hemsidan
  • Användarklick länk. Direkt till Foursquare och godkänner / avvisar åtkomst till deras konto från tredje part ansökan
  • Butik nu säkrad nyckel- och hemlighet att ringa förfrågningar från Foursquare-databasen

Du behöver ett Foursquare konto för att få din nyckel och hemlighet i första hand. Det är en gratis registrering, och om du vill arbeta med API: n är du säker på att du redan har haft intresse för applikationen! När du är inloggad, kolla in deras OAuth-registreringsformulär för att skapa din nya app.

Du måste ge tre (3) bitar data innan du får din unika nyckel och hemliga strängpar. Appnamnet, webbadressen till webbplatsen och returadressen. De två första är ganska självförklarande medan returadress Det är helt enkelt sidan Foursquare kommer att omdirigera användarna tillbaka efter att autentisering är klar.

Plocka bibliotek

Det slutgiltiga steget efter skapandet av konton visar ut vilka externa bibliotek som ska användas. Ju enklare och enklare vi kan få tillgång till bitar av data, ju snabbare kommer vår applikation att köras. Github är en fantastisk gemenskap där utvecklare delar sina bitar av kod med världen.

Speciellt användaren jmathai s Foursquare async bibliotek är perfekt för vad vi gör. Du kan ladda ner paketet direkt från den sidan. Inuti hittar du några filer, nämligen kärnbiblioteken vi behöver jobba med. Anges nedan:

  • index.php
  • callback.php
  • EpiCurl.php
  • EpiFoursquare.php
  • EpiOAuth.php

Inuti vårt index.php fil finns det några fält som kräver viss ingång. Mot toppen har vi två (2) variabler som heter $ consumer_key och $ consumer_secret. Inuti vill du ställa in strängvärdet till vad som helst Foursquare har satt upp i dina OAuth-programinställningar.

Den andra filen vi behöver redigera är callback.php. Detta kommer att hantera en generell återuppringning från Foursquare och tillåter oss att dra information om tillståndsförfrågan (godkännande / avslag). Mot toppen av den här filen ser du samma variabler som begär samma uppsättning värden - till synes överflödig men användbar för att hålla skript oberoende.

Dra ut användardata

Prova att ladda din index.php filen i en webbläsare från din lokala server. Du borde se en liten sida med en inloggnings länk - klicka på den här omdirigeringen till Foursquare där du kan välja att tillåta eller neka anslutningen till din ansökan. Vid godkännande kommer du att riktas vidare till din återuppringningsadress och kan dra användaruppgifter efter behov!

Som ett kort exempel kan vi undersöka incheckningshistoriken. Genom dessa få rader av kod kan vi enkelt dra de senaste kontrollerna från något auktoriserat konto och visa dem på skärmen (eller lagra dem i en databas för enkel åtkomst!)

Vi ställde in en unik variabel $ fsqUsrHistory för att hålla vårt historiaobjekt. Detta bör returnera en array som innehåller specifik information om var och en av de tidigare incheckningarna från målkontot. PHP print_r () funktionen visar svarfältet i ren text på skärmen.

Slutsats

Detta har varit en grundläggande titt på att komma igång med Foursquares API. OAuth är ett mycket kraftfullt öppet protokoll för anslutning till större samhällsgrupper. Det erbjuder de mest säkra lösningarna för både användare och webmasters.

Om du fortfarande är lite förlorad så kan du förvänta dig först.Prova att ladda ner paketet från Github och krossa med några av filerna. Även rudimentära PHP-färdigheter kommer att räcka när man arbetar med dessa bibliotek, så det är svårt att förstöra sakerna.

Foursquare Developers Center är ett fantastiskt verktyg för nybörjare. Skura resurserna och leta upp och fungera samtal du kan vara intresserad av att arbeta med. På samma sätt har den officiella OAuth-webbplatsen några fantastiska läsningar som beskriver syfte och praktiska lösningar för protokollet.