<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>API - Mashup.se&#187; APIer</title>
	<atom:link href="http://www.mashup.se/api/feed" rel="self" type="application/rss+xml" />
	<link>http://www.mashup.se</link>
	<description>Allt om svenska mashups och APIer</description>
	<lastBuildDate>Mon, 06 Feb 2012 09:49:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>En djupdykning i Spotify Apps APIet (gästinlägg)</title>
		<link>http://www.mashup.se/api/en-djupdykning-i-spotify-apps-apiet-gastinlagg</link>
		<comments>http://www.mashup.se/api/en-djupdykning-i-spotify-apps-apiet-gastinlagg#comments</comments>
		<pubDate>Tue, 06 Dec 2011 12:51:57 +0000</pubDate>
		<dc:creator>Jesper Petersson</dc:creator>
				<category><![CDATA[APIer]]></category>
		<category><![CDATA[Blogg]]></category>
		<category><![CDATA[gästinlägg]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[spotify]]></category>
		<category><![CDATA[spotify apps api]]></category>

		<guid isPermaLink="false">http://www.mashup.se/?p=1509</guid>
		<description><![CDATA[Precis som Andreas tidigare nämnt har Spotify släppt ett nytt Javascript-API för Apps. Med hjälp av detta API går det dels bygga applikationer för att styra Spotify-klienten, men det öppnar också upp möjligheter till att kommunicera med omvärlden och andra API:er. Jag har tagit tillfället i akt att testa på API:et för att se vad [...]]]></description>
			<content:encoded><![CDATA[<p>Precis som <a title="Spotify API" href="http://www.mashup.se/nyheter/api-mandag-spotify-twitter-och-mer-twitter">Andreas tidigare nämnt</a> har Spotify släppt ett nytt Javascript-API för Apps. Med hjälp av detta API går det dels bygga applikationer för att styra Spotify-klienten, men det öppnar också upp möjligheter till att kommunicera med omvärlden och andra API:er. Jag har tagit tillfället i akt att testa på API:et för att se vad det går för.</p>
<h2>Att komma igång</h2>
<p>För att komma igång och utveckla behövs ett utvecklingskonto, detta erhålls genom att maila Spotify och snällt be de aktivera detta. Det tog cirka ett dygn för Spotify att aktivera mitt konto, efter detta var det fritt fram att knacka kod! De har publicerat en ganska innehållsrik <a title="Tutorial till Spotify API" href="http://developer.spotify.com/download/spotify-apps-api/tutorial/" target="_blank">tutorial</a> vilket gör att man snabbt kommer igång, man har lätt ett fungerande Hello World på några få minuter.</p>
<h2>En djupdykning</h2>
<p>När det sedan är dags för att faktiskt använda deras API lite mer djupgående blir dock allt betydligt jobbigare. Slår man <a title="Dokumentation till Spotify API" href="http://developer.spotify.com/download/spotify-apps-api/reference/" target="_blank">i deras dokumentation</a> inser man ganska snabbt att den inte alls stämmer bra överens med verkligheten. Detta är visserligen något de nämner i dokumentationen, men det är fortfarande tråkigt att det inte finns några bra referenser att vända sig till. T.ex. saknas all dokumentation om <em>trackPlayer</em>, vilket är en väldigt central del för att kunna kommunicera med klienten.</p>
<p>För att kunna gå vidare i utvecklingen började jag dumpa lite objekt med hjälp av <em>console.log()</em>, vilket mynnade ut i följande metoder på Spotify-objektet (det objekt som getSpotifyApi() returnerar):</p>
<ul>
<li>core: function core() { return _getModule(_cache, &#8220;core&#8221;); }</li>
<li>desktop: function desktop() { return _getModule(_cache, &#8220;desktop&#8221;); }</li>
<li>installer: function installer() { return _getModule(_cache, &#8220;installer&#8221;); }</li>
<li>require: function require() { return _require; }</li>
<li>requireAsync: function requireAsync() { return _requireAsync; }</li>
<li>social: function social() { return _getModule(_cache, &#8220;social&#8221;); }</li>
<li>trackPlayer: function trackPlayer() { return _getModule(_cache, &#8220;trackPlayer&#8221;); }</li>
<li>whatsnew: function whatsnew() { return _getModule(_cache, &#8220;whatsnew&#8221;); }</li>
</ul>
<p>Om man i sin tur dumpar trackPlayer-objektet fås följande:</p>
<ul>
<li>addEventListener: function addEventListener() { [native code] }</li>
<li>canChangeRepeat: function canChangeRepeat() { [native code] }</li>
<li>canChangeShuffle: function canChangeShuffle() { [native code] }</li>
<li>getIsPlaying: function getIsPlaying() { [native code] }</li>
<li>getNowPlayingTrack: function getNowPlayingTrack() { [native code] }</li>
<li>getPlaybackControlState: function getPlaybackControlState() { [native code] }</li>
<li>getPlayingContext: function getPlayingContext() { [native code] }</li>
<li>getRepeat: function getRepeat() { [native code] }</li>
<li>getShuffle: function getShuffle() { [native code] }</li>
<li>getVolume: function getVolume() { [native code] }</li>
<li>playTrackFromContext: function playTrackFromContext() { [native code] }</li>
<li>playTrackFromUri: function playTrackFromUri() { [native code] }</li>
<li>removeEventListener: function removeEventListener() { [native code] }</li>
<li>seek: function seek() { [native code] }</li>
<li>setIsPlaying: function setIsPlaying() { [native code] }</li>
<li>setRepeat: function setRepeat() { [native code] }</li>
<li>setShuffle: function setShuffle() { [native code] }</li>
<li>setVolume: function setVolume() { [native code] }</li>
<li>skipToNextTrack: function skipToNextTrack() { [native code] }</li>
<li>skipToPreviousTrack: function skipToPreviousTrack() { [native code] }</li>
</ul>
<p>Detta är helt klart ett ganska omständigt sätt att hitta tillgängliga metoder på, men visst fungerar det. All utdata från <em>console.log()</em> dyker (precis som vanligt) upp i inspektorn.</p>
<p>Lite annat smått och gått som finns att tillgå är all källkod som Spotify skickar med i beta-versionen, där finns bland annat ett antal väldigt användbara exempel. Använder man Mac OS X återfinns allt detta i /Applications/Spotify.app/Contents/Resources/cef_views/. Här finns bland annat exempel på hur man kan implementera tabbar och andra trevliga UI-element.</p>
<h2>Ett kort exempel</h2>
<p>Under tiden jag testade på API:et tog jag fram en (extremt) liten applikation som startar musiken även om någon försöker använda samma Spotify-konto. T.ex. är det detta som inträffar om man försöker använda Spotify på datorn samtidigt som på telefonen. Varningsmeddelandet “Spotify has been paused because your account is used somewhere else” dyker fortfarande upp, men ingen störningen i musiken hörs.</p>
<p>Detta lilla exempel <a title="Exempel på en litet Spotify-app" href="https://github.com/peterssonjesper/GetItBack" target="_blank">återfinns här</a> och utgör hela 56 rader kod. Trots att det är ett väldigt litet exempel säger det endel om hur kraftfullt API:et faktiskt är.</p>
<h2>Slutsats</h2>
<p>Till sist måste jag säga att det är riktigt trevligt att arbeta med Spotifys nya API. De har tagit fram ett kraftfullt API tillsammans med en trevlig utevcklingsmiljö och en bra debugger. Det kommer säkerligen komma en hel drös med trevliga applikationer som kommer göra musikupplevelsen på Spotify än bättre. Det jag saknar är en bra referens till alla metoder och objekt, jag hoppas innerligt att Spotify fixar till detta så småningom.</p>
 <p><a href="http://www.mashup.se/?flattrss_redirect&amp;id=1509&amp;md5=b6854f26a0b44a4e57a7bc204b990442" title="Flattr" target="_blank"><img src="http://www.mashup.se/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.mashup.se/api/en-djupdykning-i-spotify-apps-apiet-gastinlagg/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Systembolagets data och Systemet API &#8211; skål för öppen data</title>
		<link>http://www.mashup.se/api/systembolagets-data-och-systemet-api</link>
		<comments>http://www.mashup.se/api/systembolagets-data-och-systemet-api#comments</comments>
		<pubDate>Fri, 18 Nov 2011 08:11:28 +0000</pubDate>
		<dc:creator>Andreas Krohn</dc:creator>
				<category><![CDATA[APIer]]></category>
		<category><![CDATA[Blogg]]></category>
		<category><![CDATA[alkohol]]></category>
		<category><![CDATA[karl roos]]></category>
		<category><![CDATA[solidocs]]></category>
		<category><![CDATA[systembolaget]]></category>
		<category><![CDATA[systemet]]></category>

		<guid isPermaLink="false">http://www.mashup.se/?p=1483</guid>
		<description><![CDATA[Systembolaget har ett öppet API där man kan komma åt information om bolagets sortiment och information om enskilda butiker. Tyvärr går inte att bara hämta ut röda viner eller information om en speciell ale. Det är allt eller inget är det som gäller eftersom Systembolagets API är inte så mycket ett API som tre stora [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/58615912@N05/5964281830/"><img src="http://www.mashup.se/wp-content/uploads/2011/11/systembolaget-300x198.jpg" alt="" title="Systembolaget 4 av ptrix" width="300" height="198" class="alignleft size-medium wp-image-1484" /></a><a href="http://www.systembolaget.se/">Systembolaget</a> har ett <a href="http://www.systembolaget.se/Tjanster/Oppna-APIer/">öppet API</a> där man kan komma åt information om bolagets sortiment och information om enskilda butiker. Tyvärr går inte att bara hämta ut röda viner eller information om en speciell ale. Det är allt eller inget är det som gäller eftersom Systembolagets API är inte så mycket ett API som tre stora nerladdningsbara filer, i XML- eller Excelformat. Dessa filer är extremt långsamma att ladda ner och inte så praktiska att jobba med. Som tur är så är detta ett problem som redan har en lösning&#8230;</p>
<h2>Systemet API &#8211; hämta endast den data du vill ha</h2>
<p>Med <a href="http://systemetapi.se/">Systemet API</a> så kan man hämta endast de produkter man är intresserad av, tex endast whisky eller endast vita viner som kostar max 80 kr. Man kan också hämta ut detaljerad information om en enskild produkt. Det är samma data som är tillgänglig direkt via Systembolagets filer men organiserad på ett mer lättanvändbart sätt.</p>
<p>Vill man hämta ut alla produkter som kostar max 10 kr (fint ska det va!), med en max volym på 33cl och sortera på billigast pris så ser anropet ut så här:</p>
<p><code><a href="http://systemetapi.se/product.json?max_price=10&amp;max_volume=0.33&amp;order_by=price&amp;order=ASC">http://systemetapi.se/product.json?max_price=10&amp;max_volume=0.33&amp;order_by=price&amp;order=ASC</a></code></p>
<p>Tillbaka får man JSON, tex:</p>
<pre><code>    {
        article_id: "338516",
        name: "San Miguel",
        name_2: "0,0%",
        price: "9",
        volume: "0.25",
        price_per_liter: "36",
        type: "Alkoholfritt, Öl",
        packaging: "",
        closure: "",
        origin: "Spanien",
        origin_country: "Spanien",
        producer: "San Miguel",
        year: "0",
        alcohol: "0",
        alcohol_percent: "0%",
        apk: "0",
        ecological: "0",
        koscher: "0"
    }
</code></pre>
<h2>Från exporterade filer till användbart API</h2>
<p>APIet är skrivet av <a href="http://twitter.com/karlroos">Karl Roos</a> på <a href="http://vimea.se/">Vimea</a> med hjälp av PHP, MySQL och hans egenutvecklade ramverk <a href="https://github.com/Solidocs/Solidocs">Solidocs</a>. Det började med att en av Karls kollegor ville bygga en APK-app (milliliter alkohol per krona) och behövde en backend, resultatet är ett API som vi alla kan använda. I framtiden så kommer han att lägga till butiksinformation, förbättra filtrerings och sorteringsalternativen samt att lägga till historik på prisförändringar.</p>
<p>Själv tycker jag att det är bra jobbat av Karl att ta intressant data, organisera den och göra den tillgänglig på ett mer användbart sätt. Det vinner alla på, inklusive Systembolaget som får ett bra API utan att behöva investera tid och resurser på det. Förhoppningvis så kommer inte Systembolaget att reagera negativt på Karls jobb. Han har försökt får ett svar från dem om man får utveckla ett API ovanpå deras filer, men han har ännu inte fått något konkret svar.</p>
 <p><a href="http://www.mashup.se/?flattrss_redirect&amp;id=1483&amp;md5=de02ebf86b1b4ea4882a9bc4f4f69ab8" title="Flattr" target="_blank"><img src="http://www.mashup.se/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.mashup.se/api/systembolagets-data-och-systemet-api/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>20 APIer på 20 minuter &#8211; min DrupalCamp presentation</title>
		<link>http://www.mashup.se/api/20-apier-pa-20-minuter-min-drupalcamp-presentation</link>
		<comments>http://www.mashup.se/api/20-apier-pa-20-minuter-min-drupalcamp-presentation#comments</comments>
		<pubDate>Sat, 12 Nov 2011 10:20:12 +0000</pubDate>
		<dc:creator>Andreas Krohn</dc:creator>
				<category><![CDATA[APIer]]></category>
		<category><![CDATA[Blogg]]></category>
		<category><![CDATA[affärsnytta]]></category>
		<category><![CDATA[drupalcamp]]></category>
		<category><![CDATA[drupalcampsthlm]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[openaid]]></category>
		<category><![CDATA[ufo]]></category>
		<category><![CDATA[växelkurs]]></category>

		<guid isPermaLink="false">http://www.mashup.se/?p=1468</guid>
		<description><![CDATA[Idag har jag presenterat APIer på DrupalCamp Stockholm, jag hade 20 minuter på mig så jag klämde in en genomgång av 20 APIer. Det blev allt ifrån APIer som ger affärsnytta till APIer som bara är konstiga, det bör finnas något för alla. Här är en genomgång av min presentation, själva presentationen hittar ni längst [...]]]></description>
			<content:encoded><![CDATA[<p>Idag har jag presenterat APIer på <a href="http://fall2011.drupalcamp.se/">DrupalCamp Stockholm</a>, jag hade 20 minuter på mig så jag klämde in en genomgång av 20 APIer. Det blev allt ifrån APIer som ger affärsnytta till APIer som bara är konstiga, det bör finnas något för alla. Här är en genomgång av min presentation, själva presentationen hittar ni längst ner i detta inlägg. Tack till alla som kom och lyssnade på min presentation och till alla som jag träffade på DrupalCamp!</p>
<h2>Cash Rules Everything Around Me</h2>
<p>Vi börjar med ett praktiskt API för att värma upp, nämligen <a href="http://josscrowcroft.github.com/open-exchange-rates/">Open Exchange Rates</a> som ger tillgång till växelkurser mellan nästan alla världens valutor. Det finns också ett bra javascriptbibliotek, <a href="http://josscrowcroft.github.com/money.js/">money.js</a> om man vill använda växelkurserna direkt i Javascript.</p>
<p><a href="http://thenounproject.com/noun/currency-exchange/"><img class="alignleft size-full wp-image-1471" title="Växelkurser" src="http://www.mashup.se/wp-content/uploads/2011/11/noun_project_527_1.png" alt="" width="100" height="93" /></a>Ett annat pengarelaterat API är <a href="http://blog.sallarp.com/handelsbanken-api/">Handelsbankens inofficiella API</a> som <a href="http://blog.sallarp.com">Björn Sållarp</a> har dokumenterat genom att sniffa trafiken till och från Handelsbankens iPhoneapp. Med APIet kan man lista konton, lista kreditkort, föra över pengar mellan konton etc.</p>
<p>När man har all information om sitt bankkonto och om växelkurser så vill man ju visa dem i fina diagram, och där är <a href="http://code.google.com/apis/chart/">Google Charts API</a> mycket användbart. Med det kan man göra snygga pajdiagram, stapeldiagram och alla andra typer av diagram bara genom lite javascript.</p>
<h2>Med APIer kommer man åt allt</h2>
<p>Google har väldigt många APIer och de har alla en massa metoder och parametrar. Som tur är så finns <a href="http://code.google.com/apis/discovery">Google APIs Discovery Service</a> vilket är ett API för att få reda på information om ett 20-tal av Googles APIer. Väldigt meta.</p>
<p>Räcker inte alla Googles APIer så kan man bygga ett eget mot vilken webbsida som helst med <a href="http://diffbot.com">Diffbot</a>. De använder &#8220;visuella algoritmer&#8221; för att analysera en webbsida och automatiskt returnera den information som är mest intressant. Ett perfekt sätt att bygga RSS-feeds för sidor som inte har det eller att få veta när en webbsida har uppdaterats.</p>
<p><a href="http://thenounproject.com/noun/mail/"><img class="alignright size-full wp-image-1472" title="Email" src="http://www.mashup.se/wp-content/uploads/2011/11/noun_project_90.png" alt="" width="100" height="75" /></a>Behöver man information från email istället så kan man använda <a href="http://context.io">Context.io</a> som ger ett API mot ett mailkonto. Perfekt för att ta fram alla konversationer med en given kontakt i ett CRM-system eller att komma åt bifogade filer.</p>
<p>Ibland har man bara en emailadress, men man vill veta mycket mer om personen bakom emailadressen. Då kan man använda <a href="http://fullcontact.com">Fullcontact APIet</a> där man skickar in en emailadress och får tillbaka information som namn, ålder, kön, profilbilder etc som har samlats ihop från olika tjänster på nätet. Perfekt för att få mer information om sina kunder.</p>
<h2>APIer för designers</h2>
<p>Att koppla en emailadress till ett namn kan vara användbart, men ibland behöver man 100-tals namn för tester eller för att populera designmockups med realistisk data. Med <a href="http://namnapi.se">NamnAPI</a> så kan man generera svenska mans- och kvinnonamn slumpvis. Enkelt och användbart.</p>
<p>Behöver man längre texter för sina mockups så är <a href="http://loripsum.net/">Loripsum APIet</a> ett bra val. Med det APIet så kan man generera &#8220;Lorem ispum&#8230;&#8221; texter i olika längd och formaterat på alla möjliga olika sätt. Behöver man dessutom bilder för sina mockups så kan man få det via <a href="http://flickholdr.com/">Flickholdr</a> som returnerar bilder från Flickr. Ange bara vilken tag bilden ska ha, tex &#8220;sunrise&#8221; eller &#8220;stockholm&#8221;, och vilken storlek den ska ha och tillbaka får man en bild. Aldrig mer behöver mockups ha gråa tråkiga exempelbilder.</p>
<h2>Storebror vet vem du är</h2>
<p>Med Flickholdr kan man få fram slumpvisa bilder, men tänk om du har en bild på en person och vill veta vem det är. Då är <a href="http://face.com">APIet från Face.com</a> vad du letar efter. Börja med att ladda upp en stor mängd personbilder med tillhörande namn, tex alla dina Facebookvänner. Skicka sedan upp en ny bild på en person och du får tillbaka ett namn. Både lite skrämmande och otroligt coolt samtidigt.</p>
<p>När du väl har namnet på personen så kan du hitta hans telefonnummer via <a href="http://utveckling.118100.se/node/12">APIet från 118100</a>. Skicka in ett namn och få tillbaka adress och telefonnummer, eller skicka in ett nummer och få tillbaka ett namn.</p>
<h2>Telefontjänster</h2>
<p><a href="http://thenounproject.com/noun/telephone/#icon-No761"><img class="alignright size-full wp-image-1470" title="Telefon" src="http://www.mashup.se/wp-content/uploads/2011/11/noun_project_755.png" alt="" width="65" height="100" /></a>När du väl har en persons telefonnummer så kan du skicka honom ett SMS via <a href="http://46elks.com">46elks</a>. Med deras API kan du också ta emot SMS och koppla röstsamtal. Har du ett telefonnummer så kan man ta reda på vilken operatör (Telenor, 3, Telia etc) som numret tillhör via <a href="e-tjanster.pts.se/internet/api">Post- och Telestyrelsens API</a>. PTS fick många frågor om vilken operatör som hade hand om ett visst nummer, men genom att publicera ett API så kan de spara pengar på support.</p>
<h2>Från punkt A till punkt B</h2>
<p>Ibland vill man inte ringa eller SMS folk, utan faktiskt göra något så gammaldags som att skicka ett paket. Det kan ju kosta en hel del pengar och det finns många tjänster att välja bland. <a href="fraktjakt.se/services/api">Fraktjakts API</a> hjälper till att hitta det billigaste alternativet och där kan man dessutom beställa transporttjänsterna direkt via APIet.</p>
<p>Vill man flytta sig själv istället för ett paket så kan man använda ytterligare ett inofficiellt API. Precis som Handelsbankes så har SJ en iPhoneapp och precis som för Handelsbanken så blev SJs app-API dokumenterat och publicerat. Tack vare <a href="http://ptz0n.se">Erik Pettersson</a> så finns det nu bra dokumentation för <a href="tagtider.net/blogg/appar/sj-api-med-tidtabeller-taglagen">SJs API</a> för tidtabeller, stationer och annan tåginformation.</p>
<h2>Är&#8221; SOAP&#8221; en svordom?</h2>
<p>Tänker man SJ tänker man lätt på svordomar, och är man som jag så tänker man direkt på ett svordoms-API. I Googles <a href="http://wdyl.com">What Do You Love</a> tjänst så vill de undvika fula ord, och de skapade därmed ett API där man kan skicka in ett engelskt ord och få tillbaka True eller False om det är en svordom eller inte. Google dokumenterade inte detta API, men det går inte att gömma någonting så det finns <a href="http://labs.phurix.net/posts/googles-official-profanity-api">bra dokumentation</a> i alla fall.</p>
<p>Googles svordoms-API funkar som sagt bara för engelska ord och jag har inte hittat någon svensk motsvarighet, men Libris har ett väldigt användbart <a href="api.libris.kb.se/bibspell">svenskt stavnings-API</a>. Stavninsförslagen baseras på dels innehållet i bibliotekssystemet Libris och dels på sökningar som användare har gjort i systemet.</p>
<h2>Offentlig data + UFOs?</h2>
<p>Informationen i Libris är ju nästan offentlig information och det finns många andra exempel på hur offentlig data finns tillgänglig via API (jag vet att denna övergång är lite långsökt, försök att förlåta mig). Ett mycket bra exempel är <a href="http://openaid.se">Openaid</a> som är ett samarbete mellan SIDA och UD och ger tillgång till biståndsdata. Vill du veta vilka bevattningsprojekt i Kenya som Sverige gav bistånd till 1997 så är det bara att använda Openaids API och söka upp informationen.</p>
<p><a href="http://thenounproject.com/"><img class="alignleft size-full wp-image-1473" title="Space invader" src="http://www.mashup.se/wp-content/uploads/2011/11/noun_project_305.png" alt="" width="75" height="100" /></a>Det skulle vara mycket intressant om någon kunde samköra Openaid APIet med <a href="infochimps.com/datasets/60000-documented-ufo-sightings-with-text-descriptions-and-metada">UFO Sightings APIet</a> som gör det möjligt att söka bland rapporterade UFOs välden runt. Finns det något sammanhang mellan vad Sverige har gett bistånd till och var det syns flygande tefat? Har starka misstankar på att det finns en konspiration dold här någonstans!</p>
<p>Vill du att jag ska komma och presentera möjligheterna med APIer, affärsstrategier eller hur man kommer igång? Skicka ett mail till <a href="mailto://andreas@dopter.se">andreas@dopter.se</a> eller ring mig på 0709-780794.</p>
<div style="width:425px" id="__ss_10124754"> <strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/AndreasKrohn/20-apier-p-20-minuter" title="20 APIer på 20 minuter" target="_blank">20 APIer på 20 minuter</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/10124754" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
<div style="padding:5px 0 12px"> View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/AndreasKrohn" target="_blank">Andreas Krohn</a> </div>
</p></div>
 <p><a href="http://www.mashup.se/?flattrss_redirect&amp;id=1468&amp;md5=1c2ec4cc2048b6d91966ab6517c0d191" title="Flattr" target="_blank"><img src="http://www.mashup.se/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.mashup.se/api/20-apier-pa-20-minuter-min-drupalcamp-presentation/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Saplos erfarenheter av att bygga ett API</title>
		<link>http://www.mashup.se/api/saplos-erfarenheter-av-att-bygga-ett-api</link>
		<comments>http://www.mashup.se/api/saplos-erfarenheter-av-att-bygga-ett-api#comments</comments>
		<pubDate>Thu, 20 Oct 2011 13:30:47 +0000</pubDate>
		<dc:creator>Andreas Krohn</dc:creator>
				<category><![CDATA[APIer]]></category>
		<category><![CDATA[Blogg]]></category>
		<category><![CDATA[erfarenheter]]></category>
		<category><![CDATA[programmableweb]]></category>
		<category><![CDATA[saplo]]></category>
		<category><![CDATA[textanalys]]></category>

		<guid isPermaLink="false">http://www.mashup.se/?p=1399</guid>
		<description><![CDATA[Saplo är ett svenskt företag som erbjuder tjänster för att analysera texter. De kan identifiera och automatiskt tagga tex personer, organisationer och platser i en text, eller räkna ut vilka texter som relaterar till andra texter. Dessutom kan de kategorisera texter och räkna ut om en text skribent är positivt eller negativt inställd till ett [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://saplo.com/"><img src="http://www.mashup.se/wp-content/uploads/2011/10/saplo-937x307-300x98.png" alt="" title="Saplo" width="300" height="98" class="alignleft size-medium wp-image-1400" /></a><a href="http://saplo.com/">Saplo</a> är ett svenskt företag som erbjuder tjänster för att analysera texter. De kan identifiera och automatiskt tagga tex personer, organisationer och platser i en text, eller räkna ut vilka texter som relaterar till andra texter. Dessutom kan de kategorisera texter och räkna ut om en text skribent är positivt eller negativt inställd till ett ämne. Allt detta (och lite till) finns tillgängligt via deras <a href="http://saplo.com/api">Text Analysis API</a>. De har fått bra recensioner av bla <a href="http://blog.programmableweb.com/2011/06/01/saplos-swedish-semantics-suite-sets-the-bar-higher/">Programmableweb</a> och är ett bra exempel på hur man kan bygga en affärsverksamhet där den enda produkten är ett API. Jag har gjort en emailintervju med <a href="http://twitter.com/horte">Fredrik Hörte</a> på Saplo om just detta och om vad de har lärt sig om att bygga APIer under resans gång&#8230;.</p>
<p><strong>Hela er affärside bygger på ert API , vilket är rätt ovanligt för svenska företag. Hur kommer det sig att ni gick den vägen?</strong></p>
<p>Till största del har vi valt att lägga fokus på vårt API när det gäller att tillängliggöra vår textanalysteknik. Vi har även utvecklat ett par produkter som används, men med tiden har vi fokuserat mer på vårt API. Eftersom tekniken har så många tillämpningsområden så känns det i nuläget fel att låsa sig till en produkt eller bransch. Nu kan vi vara väldigt flexibla och kombinera olika tekniker för olika syften. Dessutom använder vi själva vårt API till alla produkter och prototyper vi bygger.</p>
<p><strong>Ni har väldigt bra <a href="http://developer.saplo.com/documentation">API dokumentation</a> och <a href="http://developer.saplo.com/libraries">bibliotek</a> på flera språk, hur kommer det sig att ni har satsat så mycket på det?</strong></p>
<p>Som utvecklare så vet vi hur det är när man skall prova ett nytt API. Ofta så är det en ofärdig dokumentation, bibliotek som inte underhålls och svårt att förstå hur det är tänkt att man skall använda APIet. Detta beror säkert i många fall på att APIet är en biprodukt av en större tjänst (Twitter, Facebook, m.fl.). Eftersom vårt API är vårt ansikte utåt så är det också viktigt att det håller hög standard, både när det gäller vad tekniken levererar och hur det är att arbeta med.</p>
<p><strong>Vilka begränsningar finns på APIet?</strong></p>
<p>Beträffande antal anrop, språk och andra begränsningar som kan förekomma diskuteras dessa alltid med våra kunder och prissättningen görs därefter. För utvecklare som vill testa vårt API eller använda det för non-commercial så ligger gränsen för närvarande på 2000 anrop per månad. Det finns även begränsning för hur många Collections och Groups man kan skapa. Mer information om detta kommer läggas ut på vår hemsida.</p>
<p><strong>Hur har ni byggt er tekniska plattform så att ni kan klara av både hög trafik och hög concurrancy?</strong></p>
<p>Idag har det vuxit till ett rätt stort system med flera olika komponenter som sköter sin lilla bit i pusslet. Rent hostingmässigt använder vi oss till största delen av molntjänster för att snabbt kunna skala upp antalet maskiner när det behövs. Vi delar upp infrastrukturen i fyra delar; Web-API, databaser, cache och beräkningsmaskiner varav alla skalar oberoende av varandra, sen limmar vi ihop de olika delarna så de kan kommunicera med varandra på ett bra sätt.</p>
<p><strong>Vilket var största utmaningen med att bygga ert API?</strong></p>
<p>Om man bortser från hur svårt det är att göra riktigt bra textanalyser och fokuserar helt på vårt Web-API så är det inte helt lätt att få ihop allt för att kunna skala horisontellt. Exempelvis att kunna stänga av och på maskiner utan att påverka existerande API-sessioner är något som vi arbetat mycket med och som vi kommer fortsätta utveckla. Sedan är ju självklart hela delen med dokumentationen en riktig utmaning, bara att namnge metoderna och parametrarna satt vi flera veckor med. Till skillnad mot den första versionen av APIet så var vi mycket noga med att det skulle vara förståeligt och att varje metod och parameter representerar det man tror att den gör. Kodbiblioteken har också byggts om 2-3 gånger innan vi blev helt nöjda med dem.</p>
<p><strong>Vad har ni lärt er medans ni har byggt ert API?</strong></p>
<ul>
<li>Att försöka hålla APIet så stateless som möjligt. Som i vårt fall använda oss av egna sessions som vi sparar Memcached istället för att använda webserverns session id. På det sättet kan man enkelt skala upp med fler maskiner utan att en användare är bunden till en viss maskin.</li>
<li>Utgå från att användaren har väldigt lite kunskap inom det specifika området. Det är väldigt lätt att man blandar in internt språkbruk i både dokumentation och namngivning i API:et. Stanna upp och reflektera kring om det är någon annan som egentligen förstår vad du försöker säga. Ännu bättre är att testa med användare.</li>
<li>Det skall vara tillräckligt lätt att komma igång och använda utan att förlora för mycket flexibilitet. Detta har vi försökt göra genom att sätta sunda defaultvärden på så många parametrar som möjligt.</li>
<li>Att i dokumentationen inte enbart förklara hur någonting används (x metod tar y parametrar) utan att även komplettera med hur det är tänkt att användas, och framförallt visa upp kod hur man gör det.</li>
</ul>
<p><strong>Har du exempel på vad era kunder använder ert API till?</strong></p>
<ul>
<li>Vanligt förekommande är att man ersätter sin manuella taggning av texter till att uteslutande använda automatisk taggning istället. På det sättet sparar man mycket tid, stärker sin SEO och kan bygga automatiska temasidor.</li>
<li>Att hitta och presentera relaterade och liknande artiklar från arkivet eller från en sida som är inom samma koncern eller inom samma område. Detta ger bra internlänkning och ökar antalet sidvisningar.</li>
<li>Att analysera stora textflöden och filtrera texter till användare baserat på deras personliga intressen. Exempelvis att användare som är intresserade av ett visst intresseområde får rekommendationer av bra texter som matchar deras profil.</li>
<li>Optimera annonsplacering baserat på texters kontextuella betydelse.</li>
<li>Analysera om texter och kommentarer är positivt eller negativt skrivna för exempelvis en produkt eller ett företag.</li>
</ul>
<p>Tack Fredrik för all intressant info och tack Saplo för ett riktigt bra API!</p>
 <p><a href="http://www.mashup.se/?flattrss_redirect&amp;id=1399&amp;md5=94439aa645dfdd9d451c6d1eecd025a2" title="Flattr" target="_blank"><img src="http://www.mashup.se/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.mashup.se/api/saplos-erfarenheter-av-att-bygga-ett-api/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>46elks &#8211; API för SMS och röstsamtal</title>
		<link>http://www.mashup.se/api/46elks-api-for-sms-och-rostsamtal</link>
		<comments>http://www.mashup.se/api/46elks-api-for-sms-och-rostsamtal#comments</comments>
		<pubDate>Tue, 11 Oct 2011 14:32:33 +0000</pubDate>
		<dc:creator>Andreas Krohn</dc:creator>
				<category><![CDATA[APIer]]></category>
		<category><![CDATA[Blogg]]></category>
		<category><![CDATA[46elks]]></category>
		<category><![CDATA[röstsamtal]]></category>
		<category><![CDATA[sms]]></category>
		<category><![CDATA[telefon]]></category>
		<category><![CDATA[telenor]]></category>
		<category><![CDATA[twillio]]></category>

		<guid isPermaLink="false">http://www.mashup.se/?p=1371</guid>
		<description><![CDATA[Med 46elks API så kan man ta emot och skicka SMS och hantera uppkoppling av röstsamtal, allt via ett enkelt REST API. Företaget är baserat i Stockholm men satsar stort på att bli Europas Twilio. När jag var i Stockholm för några veckor sedan så tog jag en fika med Pejman, en av grundarna, och [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.mashup.se/wp-content/uploads/2011/10/46elks-vertical-300x300.png" alt="" title="46elks" width="300" height="300" class="alignright size-medium wp-image-1372" />Med <a href="http://www.46elks.com/">46elks</a> API så kan man ta emot och skicka SMS och hantera uppkoppling av röstsamtal, allt via ett enkelt REST API. Företaget är baserat i Stockholm men satsar stort på att bli Europas <a href="http://www.twilio.com/">Twilio</a>.</p>
<p>När jag var i Stockholm för några veckor sedan så tog jag en fika med <a href="https://twitter.com/pejman">Pejman</a>, en av grundarna, och pratade APIer och entreprenörskap. Det är riktigt kul att se en svensk startup med så mycket driv som 46elks har, det extra kul att se att deras affärside är ett API och ett riktigt bra API dessutom.</p>
<h2>Telefonnummer</h2>
<p>För att kunna använda SMS och röstsamtals APIerna så måste man ha ett speciellt telefonnummer. Detta nummer skapas via ett API anrop, närmare bestämt en POST till <code>https.//api.46elks.com/a1/Numbers</code> . När man väl har ett nummer så är det detta nummer som man kan ta emot SMS på, skicka SMS från eller hantera röstsamtal. För varje nummer så kan man registrera callback metoder som används för att hantera SMS respektive röstsamtal.</p>
<h2>SMS API</h2>
<p>När ett SMS skickas till ett 46elks nummer så kallar nummrets SMS callback metod med en POST. Detta anrop innehåller information om vilket nummer SMSet är från och texten i SMSet. Sedan är det upp till dig som API användare att implementera denna callback metod och hantera den data som skickas i SMSet. Via APIet så kan man svara på ett inkommande SMS eller skicka ett SMS till vilket mobilnummer som helst.</p>
<h2>Röstsamtals API</h2>
<p>Om någon ringer ett 46elks nummer så kallas den registrerade callback metoden med en POST som innehåller information om vilket nummer det är som ringer. Baserat på vem det är som ringer så kan man sedan koppla vidare samtalet till något annat nummer eller lägga på. Man kan också ange villkor som att man först kopplar vidare till ett telefonnummer, men om det är upptaget så kopplar man vidare till ett annat.</p>
<h2>Prissättning</h2>
<p>Just nu är APIet i alpha, så det kostar absolut ingenting att använda det. I framtiden så kommer det att finnas en fast månadskostnad för varje 46elks nummer på runt hundralappen, samt en mindre kostnad på några öre per SMS. De kommer snart ut med officiell prissättningen, men det jag har hört låter väldigt konkurrenskraftigt.</p>
<h2>Sammanfattning</h2>
<p>46elks API har oändlig potential. Varför inte bygga en version av Google Voice för den svenska marknaden? Varför inte köra användarverifiering via SMS istället för via email? Varför inte ha ett 46elks nummer som företagets officiella nummer och sedan automatiskt koppla det vidare till vem det nu är som är on-call just nu?</p>
<p>Om prissättningen blir rätt så tror jag att 46elks kan bli en riktig framgångssaga. De tillhandahåller den infrastruktur som många entreprenörer behöver för att kunna förverkliga sina ideer. Det enda jag saknar från 46elks API idag är ett sätt att ta betalt av dem som skickar mig SMS, en tjänst som tex <a href="http://www.telenor.se/foretag/b2b/content-premium-services/sms-pro/index.html">Telenor</a> tillhandahåller.</p>
<p>Är det någon som har använt 46elks API eller några liknande APIer? Vad har ni gjort med dem och vad är era erfarenheter?</p>
 <p><a href="http://www.mashup.se/?flattrss_redirect&amp;id=1371&amp;md5=0b9787e40eaf18f20a37f8b62a8c8fcb" title="Flattr" target="_blank"><img src="http://www.mashup.se/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.mashup.se/api/46elks-api-for-sms-och-rostsamtal/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eniro API &#8211; Gulasidorna via REST</title>
		<link>http://www.mashup.se/api/eniro-api-gulasidorna-via-rest</link>
		<comments>http://www.mashup.se/api/eniro-api-gulasidorna-via-rest#comments</comments>
		<pubDate>Mon, 26 Sep 2011 08:57:10 +0000</pubDate>
		<dc:creator>Andreas Krohn</dc:creator>
				<category><![CDATA[APIer]]></category>
		<category><![CDATA[Blogg]]></category>
		<category><![CDATA[eniro]]></category>
		<category><![CDATA[gulesider]]></category>
		<category><![CDATA[krak]]></category>

		<guid isPermaLink="false">http://www.mashup.se/?p=1321</guid>
		<description><![CDATA[Förra veckan så lanserade Eniro ett API där man kan söka efter företag och personer i Sverige, Danmark och Norge. Gulasidorna via REST helt enkelt. Det är ett rätt enkelt REST API som ger tillgång till mycket data i JSON format. Två API nivåer När man registerar sig som användare av Eniros API så får [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.mashup.se/wp-content/uploads/2011/09/Eniro_rgb_pos_150mm-300x71.jpg" alt="" title="Eniro" width="300" height="71" class="alignright size-medium wp-image-1324" />Förra veckan så lanserade <a href="http://api.eniro.com/">Eniro ett API</a> där man kan söka efter företag och personer i Sverige, Danmark och Norge. Gulasidorna via REST helt enkelt. Det är ett rätt enkelt REST API som ger tillgång till mycket data i JSON format.</p>
<h2>Två API nivåer</h2>
<p>När man registerar sig som användare av Eniros API så får man Basic level, dvs begränsad tillgång till data samt max 10.000 anrop/månad. Är man partner med Eniro får man istället Full level access, dvs <a href="http://api.eniro.com/getting-started">obegränsat med anrop och mer data via APIet</a>. Det är inte helt självklart vilka villkor man måste uppnå för att kunna bli partner, utan man ska kontakta Eniros partner team och ta en diskussion med dem.</p>
<p>Enligt dokumentationen så är den stora skillnaden mellan Full och Basic att man med Basic inte har tillgång till viktig information som tex företagsnamn, position (long/lat). Enligt mina tester så har man dock tillgång till det mesta även med Basic, även om det varierar mycket från metod till metod. Kanske kommer företagsnamn etc att försvinna från Basic snart, så jag skulle inte bygga en app som använder sådan info utan att först bli Full användare eller i alla fall kolla med Eniro först.</p>
<h2>Sök efter företag</h2>
<p>Man kan söka efter företag med angivna sökord och ett geografiskt område, tex för webbyråer i Helsingborg. Konstigt nog finns det två metoder för att göra denna sökning, antingen via <a href="http://api.eniro.com/documentation/cs/search/basic/1.0.1">Company Search</a> eller via <a href="http://api.eniro.com/documentation/cs/mobile/basic/1.0.1">Company mobile search</a>. Själv har jag inte lyckats hitta någon skillnad på dessa två metoder, men jag antar att det finns någon subtil skillnad gömd någonstans.</p>
<p>Sökningen efter webbyråer i Helsingborg ser ut så här med Company Search:<br />
<code></p>
<p>http://api.eniro.com/partnerapi/cs/search/basic?geo_area=helsingborg&#038;country=se</p>
<p>&amp;search_word=webbyr%C3%A5&amp;profile=<MIN PROFIL>&amp;version=1.0.1&amp;key=<MIN NYCKEL><br />
</code></p>
<p>API profil och API nyckel skapar man gratis på <a href="http://api.eniro.com/">api.eniro.com</a>. Land måste alltid anges som &#8220;se&#8221; om man vill söka i Sverige. Alternativen är &#8220;krak&#8221; för att söka i Danmark på <a href="http://krak.dk">Krak.dk</a> och &#8220;no&#8221; för att söka i Norge på <a href="http://gulesider.no">Gulesider</a>.</p>
<p>Ett annat sätt att leta efter företag är med <a href="http://api.eniro.com/documentation/cs/proximity/basic/1.0.1">Company proximity search</a> där man söker inom X antal meter från en given longitud och latitud.</p>
<h2>Sök efter personer</h2>
<p><strong>Uppdatering (2011-10-17):</strong> Eniro verkar ha tagit bort sitt person API, men jag har inte lyckats få fram varför.</p>
<p>Precis som för företag så söker man efter personer i ett visst geografiskt område och med angivna sökord med <a href="http://api.eniro.com/documentation/ps/search/basic/1.0.0">Person search</a>. Följande anrop returnerar en lista på advokater i Stockholm:<br />
<code><br />
http://api.eniro.com/ps/search/basic?profile=<MIN PROFIL>&amp;version=1.0.0<br />
&amp;key=<MIN NYCKEL>&amp;country= se&amp;search_word=advokat&amp;geo_area=stockholm<br />
</code></p>
<p>Man kan också söka efter personer inom ett visst geografiskt område baserat på longitud och latitud med <a href="http://api.eniro.com/documentation/ps/proximity/basic/1.0.0">Person Proximity Search</a>.</p>
<h2>Sammanfattning</h2>
<p>Jag tycker om att Eniros API ger tillgång till riktigt mycket data på ett snyggt och lättanvänt sätt. Dokumentationen av APIet är OK och det är snabbt att få en API nyckel och sätta igång att testa. Tyvärr så begränsas APIet en hel del genom sina <a href="http://api.eniro.com/terms">licensvillkor</a> och då tänker jag främst på att data man får från APIet inte får lagras på något sätt, endast användas on demand. Det är alltså mot villkoren att cacha data eller mellanlagra i en databas. Detta är inte ett ovanlig villkor i API sammanhang, men det sänker värdet på APIet en hel del. Det är förståeligt att Eniro inte vill att någon bygger upp en speglad version av eniro.se, men att inte tillåta någon sorts mellanlagring är att gå lite långt. Begränsa mellanlagringen till 24 timmar så att det går att cacha data ordentligt och få lite prestanda i de applikationer som bygger på APIet.</p>
<p>Det är ett mycket bra och smart initiativ av Eniro att släppa detta API och jag hoppas det blir populärt så att andra svenska företag får upp ögonen för de möjligheter som ett API ger.</p>
<p>Följ <a href="https://twitter.com/EniroAPI">@EniroAPI</a> på Twitter för nyheter om detta API och följ mig, <a href="https://twitter.com/andreaskrohn">@andreaskrohn</a> för att få API nyheter i allmänhet.</p>
 <p><a href="http://www.mashup.se/?flattrss_redirect&amp;id=1321&amp;md5=11fdf475ed319314bcb4b050e65007a2" title="Flattr" target="_blank"><img src="http://www.mashup.se/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.mashup.se/api/eniro-api-gulasidorna-via-rest/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Google+ har äntligen fått ett API</title>
		<link>http://www.mashup.se/api/google-plus-har-antligen-fatt-ett-api</link>
		<comments>http://www.mashup.se/api/google-plus-har-antligen-fatt-ett-api#comments</comments>
		<pubDate>Thu, 15 Sep 2011 20:55:04 +0000</pubDate>
		<dc:creator>Andreas Krohn</dc:creator>
				<category><![CDATA[APIer]]></category>
		<category><![CDATA[Blogg]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google plus]]></category>

		<guid isPermaLink="false">http://www.mashup.se/?p=1311</guid>
		<description><![CDATA[Enda sedan första dagen då Google+ lanserades så har utvecklare krävt ett API, vilket också utlovades av Google. Idag så har äntligen de första delarna av APIet släppts. Få tillgång till APIet För att börja testa APIet så måste man aktivera Google+ APIet i Google API Console. Eftersom APIet nu endast är till för att [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.mashup.se/wp-content/uploads/2011/09/g-plus-icon-150x150.png" alt="" title="Google+" width="150" height="150" class="alignright size-full wp-image-1314" />Enda sedan första dagen då Google+ lanserades så har utvecklare krävt ett API, vilket också utlovades av Google. Idag så har äntligen de <a href="http://googleplusplatform.blogspot.com/2011/09/getting-started-on-google-api.html">första delarna av APIet släppts</a>.</p>
<h2>Få tillgång till APIet</h2>
<p>För att börja testa APIet så måste man aktivera Google+ APIet i <a href="https://code.google.com/apis/console">Google API Console</a>. Eftersom APIet nu endast är till för att testa och ge Google feedback så får man nu bara 1000 anrop/dag.</p>
<p>Än så länge så har man bara tillgång till att läsa publik data. Antingen så använder man en API nyckel som man får via Google API Console eller så loggar man in via <a href="http://developers.google.com/+/api/oauth">Oauth 2.0</a>. Själva APIet är REST och returnerar JSON.</p>
<h2>Metoder</h2>
<p>För att hämta publik information om en användare så kallar man <em>https://www.googleapis.com/plus/v1/people/&lt;ANVÄNDARID>?key=<DIN NYCKEL></em>. Är man inloggad via OAuth så byt ut API nyckeln (&#8220;<em>key</em>&#8221; parametern) mot &#8220;<em>access_token</em>&#8221; istället.</p>
<p>Förutom publik information om en användare så kan man också få tag på en lista av en användares publika aktiviteter via <em>https://www.googleapis.com/plus/v1/people/&lt;ANVÄNDARID>/activities/public</em>. För mer info om en given aktivitet så kallar man <em>https://www.googleapis.com/plus/v1/activities/<AKTIVITETSID></em></p>
<p>Mer om dessa metoder finns i <a href="http://developers.google.com/+/overview">Google+ API dokumentationen</a></p>
<p>Det finns <a href="http://developers.google.com/+/downloads">klientbibliotek</a> för PHP, Ruby, Python, Objective-C. NET och andra språk.</p>
<p>Så nu finns det inga ursäkter, låt hackandet börja!</p>
 <p><a href="http://www.mashup.se/?flattrss_redirect&amp;id=1311&amp;md5=ccd40531c2683aa9e6c1c8d96d85661b" title="Flattr" target="_blank"><img src="http://www.mashup.se/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.mashup.se/api/google-plus-har-antligen-fatt-ett-api/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Trafiklab &#8211; portalen för svenska rese-APIer</title>
		<link>http://www.mashup.se/nyheter/trafiklab-portalen-for-svenska-rese-apier</link>
		<comments>http://www.mashup.se/nyheter/trafiklab-portalen-for-svenska-rese-apier#comments</comments>
		<pubDate>Mon, 12 Sep 2011 10:00:48 +0000</pubDate>
		<dc:creator>Andreas Krohn</dc:creator>
				<category><![CDATA[APIer]]></category>
		<category><![CDATA[Blogg]]></category>
		<category><![CDATA[Nyheter]]></category>
		<category><![CDATA[apigee]]></category>
		<category><![CDATA[samtrafiken]]></category>
		<category><![CDATA[sl]]></category>
		<category><![CDATA[trafiklab]]></category>
		<category><![CDATA[travelhack]]></category>

		<guid isPermaLink="false">http://www.mashup.se/?p=1305</guid>
		<description><![CDATA[Idag lanseras officiellt Trafiklab.se i beta, det är en svensk sajt som siktar på att samla alla svenska reserelaterade APIer på ett ställe. Det är ett samarbetsprojekt mellan Samtrafiken och SL. Nu går 4 av SLs APIer och 2 av Samtrafikens APIer direkt via Trafiklab och det finns länkar till APIer från bla Göteborgsstad och [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-1307" title="Trafiklab.se" src="http://www.mashup.se/wp-content/uploads/2011/09/Screen-shot-2011-09-12-at-11.57.53--300x178.png" alt="" width="300" height="178" />Idag lanseras officiellt <a href="http://www.trafiklab.se/">Trafiklab.se</a> i beta, det är en svensk sajt som siktar på att samla alla svenska reserelaterade APIer på ett ställe. Det är ett samarbetsprojekt mellan <a href="http://samtrafiken.se/Samtrafiken/">Samtrafiken</a> och <a href="http://sl.se/">SL</a>. Nu går 4 av SLs APIer och 2 av Samtrafikens APIer direkt via Trafiklab och det finns länkar till APIer från bla Göteborgsstad och Västtrafik. Jag har jobbat med detta projekt rätt länge tillsammans med <a href="http://www.deportivo.se/">Deportivo</a> och <a href="http://www.kollegorna.se/">Kollegorna</a>det är fantastiskt att se att det äntligen har lanserats.</p>
<h2>APIer</h2>
<p>Det finns som sagt 6 APIer som ingår i själva Trafiklab, det är alltså APIer som är tillgängliga via api.trafiklab.se, där dokumentationen finns på trafiklab.se och där man får API nycklar direkt från sajten. Dessa sex APIer är:</p>
<ul>
<li><a href="http://www.trafiklab.se/api/sl-realtidsinfo">SL Realtidsinfo</a> &#8211; realtidsinformation om SLs bussar, tunnelbaner, tåg etc. När är nästa avgång från en given station till exempel.</li>
<li><a href="http://www.trafiklab.se/api/sl-trafiklaget">SL Trafikläget</a> &#8211; övergripande status på SLs trafik</li>
<li><a href="http://www.trafiklab.se/api/sls-storningsinformation">SL Störningsinformation</a> &#8211; ta reda på existerande och planerade störningar i SLs trafik</li>
<li><a href="http://www.trafiklab.se/api/sls-reseplanerare">SL Reseplanerare</a> &#8211; planera din resa från punkt A till punkt B</li>
<li><a href="http://www.trafiklab.se/api/resrobot-sok-resa">Samtrafiken Sök resa</a> &#8211; ytterligare ett reseplanerar API, men detta API täcker hela landet och inte bara Stockholmsområdet</li>
<li><a href="http://www.trafiklab.se/api/resrobot-stolptidtabeller">Samtrafiken Stolptidtabeller</a> &#8211; hitta avgångar från olika hållplatser över hela Sverige</li>
</ul>
<p>Det jag främst har gjort i projektet är att ta existerande SL och Samtrafiken APIer och förenkla för utvecklare att använda dem. I det ingår bla att alla APIer ska vara tillgängliga via REST, att de alla ska returnera både XML och JSON och att de alla ska ha liknande struktur på URLer och dokumentation. Mycket av dessa förenklingar och förändringar av existerande APIer har gjorts via <a href="http://apigee.com/">Apigee</a> som bla gör det möjligt att i runtime göra om ett REST anrop till SOAP, så att inget i själva backend behöver förändras.</p>
<p>Även om det finns mycket jobb kvar med Trafiklab innan allt är perfekt (sajten är ju fortfarande i beta) så är det ett mycket stort steg i rätt riktning. Målet är att göra svenska reserelaterade APIer så enkla som möjligt att använda så att så många utvecklare som möjligt kan använda dem. Gå gärna in och pröva Trafiklab och ge oss feedback (gärna via trafiklab.se och inte direkt till mig) så vi kan göra sajten ännu bättre.</p>
<h2>TravelHack</h2>
<p>Om du är intresserad av APIer och resande så är <a href="http://travelhack.se/">TravelHack</a> 8-9 oktover i Göteborg perfekt för dig. Det är ett event där man under 2 dagar hackar med rese-APIer och har chansen att vinna finfina priser. Själv hoppas jag kunna vara där och fungera som hjälpande resurs för alla de tävlande lagen. Anmäl dig redan idag!</p>
 <p><a href="http://www.mashup.se/?flattrss_redirect&amp;id=1305&amp;md5=ea9e4f40ffd3b3cec45c7a28f2423e35" title="Flattr" target="_blank"><img src="http://www.mashup.se/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.mashup.se/nyheter/trafiklab-portalen-for-svenska-rese-apier/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>API Måndag &#8211; Google+, Viadeo och Blogger</title>
		<link>http://www.mashup.se/nyheter/api-mandag-google-viadeo-och-blogger</link>
		<comments>http://www.mashup.se/nyheter/api-mandag-google-viadeo-och-blogger#comments</comments>
		<pubDate>Mon, 12 Sep 2011 09:29:01 +0000</pubDate>
		<dc:creator>Andreas Krohn</dc:creator>
				<category><![CDATA[APIer]]></category>
		<category><![CDATA[Nyheter]]></category>
		<category><![CDATA[blogger]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google plus]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[powerinbox]]></category>
		<category><![CDATA[viadeo]]></category>

		<guid isPermaLink="false">http://www.mashup.se/?p=1302</guid>
		<description><![CDATA[Dags att starta veckan med API nyheter, som sig bör. Om du vill ha mer API nyheter hela veckan lång så följ mig på twitter och har du tips om vad jag bör skriva om så tveka inte att kontakta mig. Den som väntar på något gott väntar alltid för länge Google har lovat att [...]]]></description>
			<content:encoded><![CDATA[<p>Dags att starta veckan med API nyheter, som sig bör. Om du vill ha mer API nyheter hela veckan lång så <a href="https://twitter.com/andreaskrohn">följ mig på twitter</a> och har du tips om vad jag bör skriva om så tveka inte att kontakta mig.</p>
<h2>Den som väntar på något gott väntar alltid för länge</h2>
<p>Google har lovat att det kommer ett API för Google+, men inte förrän om <a href="http://venturebeat.com/2011/09/08/google-plus-api-trusted-testers/">några veckor</a> eller <a href="http://techcrunch.com/2011/09/06/google-api-launch-still-months-away/">flera månader</a>, beroende på vem man lyssnar på. Undantaget är om du är en <a href="http://techcrunch.com/2011/09/08/google-plus-api/">&#8220;Trusted Tester&#8221;</a>, då kan du börja använda APIet redan om några dagar. Tyvärr är jag inte en Trusted Tester, tydligen måste man vara finansierad av Googles egen VC fond för att vara det. Synd att Google+ API dröjer så, jag saknar verkligen G+ integration i många appar och jag tror att ett API skulle kunna ge G+ en ordentlig push framåt.</p>
<p>Även om det inte finns ett officiellt Google+ API så hindrar det inte att man kan skapa ett eget API. Emailföretaget Powerinboox har gjort <a href="http://blog.powerinbox.com/2011/09/ask-and-ye-shall-receive-google-app-is.html">just detta</a> och på så sätt integrerat Google+ i sin emaillösning. Det visar att man inte kan kämpa emot utvecklingen, snart kommer all info att ha ett API (låt mig drömma om det i alla fall)!</p>
<h2>Viadeo lanserar API för att konkurrera med LinkedIn</h2>
<p><a href="http://www.viadeo.com/">Viadeo</a> är ett socialt nätverk som liknar LinkedIn, dvs fokus är på jobb och karriär. De har 35 miljoner användar världen över, mest i Indien och Kina. I veckan så <a href="http://www.ubergizmo.com/2011/09/viadeo-opens-public-api/">lanserade</a> Viadeo sitt <a href="http://dev.viadeo.com/">API</a> i USA. För att de ska ha en chans på den stora amerikanska marknaden så måste de ha ett API, annars kommer alla utvecklare som gör rekryteringsappar etc att använda LinkedIns API istället. Frågan är om det inte är för sent för Viadeo i vilket fall, LinkedIn har kanske redan nått kritisk massa.</p>
<h2>Smått och gott från Google</h2>
<p>Google API Client Library för PHP finns nu <a href="http://googlecode.blogspot.com/2011/09/google-apis-client-library-for-php-beta.html">tillgänglig i betaversion</a>. Biblioteket täcker URL shortener APIet, Tasks API, Latitude API och några till. Många av Googles mest intressanta APIer saknas, men de ska snart också få PHP stöd.</p>
<p>Blogger har nu fått ett <a href="http://code.blogger.com/2011/09/blogger-json-api-now-available.html">JSON API</a>. Fokus är på att göra det enklare att använda Blogger APIet ifrån javascript.</p>
<h2>3 skäl att du behöver ett API</h2>
<p>Som avslutning så tipsar jag om <a href="http://dopter.se/3-skal-att-du-behover-ha-ett-api/">3 skäl att du behöver ett API</a> som jag har publicerat på <a href="http://dopter.se/">Dopter.se</a>. Hoppas minst 1 av de 3 skälen stämmer in på just din situation så att vi kan få många fler svenska APIer.</p>
 <p><a href="http://www.mashup.se/?flattrss_redirect&amp;id=1302&amp;md5=725621256d48eee8789c81f4abc976d7" title="Flattr" target="_blank"><img src="http://www.mashup.se/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.mashup.se/nyheter/api-mandag-google-viadeo-och-blogger/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>API Måndag &#8211; Facebook API Explorer, LinkedIn Groups, Google+</title>
		<link>http://www.mashup.se/nyheter/api-mandag-facebook-api-explorer-linkedin-groups-google</link>
		<comments>http://www.mashup.se/nyheter/api-mandag-facebook-api-explorer-linkedin-groups-google#comments</comments>
		<pubDate>Mon, 04 Jul 2011 10:16:31 +0000</pubDate>
		<dc:creator>Andreas Krohn</dc:creator>
				<category><![CDATA[APIer]]></category>
		<category><![CDATA[Nyheter]]></category>
		<category><![CDATA[api måndag]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[facebook api explorer]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[graph api]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[linkedin groups]]></category>

		<guid isPermaLink="false">http://www.mashup.se/?p=1262</guid>
		<description><![CDATA[Här kommer veckans stora API nyheter. För ännu mer om APIer så följ mig på Twitter och varför inte också på Google+. Facebook Graph API Explorer Facebook har ett riktigt bra API och nu är det lättare än någonsin att experimentera med det genom deras nya API Explorer. I ett enkelt web interface så kan [...]]]></description>
			<content:encoded><![CDATA[<p>Här kommer veckans stora API nyheter. För ännu mer om APIer så följ mig på <a href="http://twitter.com/andreaskrohn">Twitter</a> och varför inte också på <a href="https://profiles.google.com/andreaskrohn/">Google+</a>.</p>
<p><strong>Facebook Graph API Explorer</strong><br />
Facebook har ett riktigt bra API och nu är det lättare än någonsin att experimentera med det genom <a href="http://developers.facebook.com/blog/post/517/">deras nya API Explorer</a>. I ett enkelt web interface så kan man testa alla Graph API metoder, se hur anropen och svaren se ut. Om ett svar på ett API anrop innehåller id på något annat objekt så kan man helt enkelt klicka på det id:t för att komma vidare till det relevanta API anropet för att få all data om objektet. Det är bra sätt att borra sig djupare ner i Facebooks API. Oavsett om ni använder FBs API eller inte så tycker jag att ni ska ta några minuter för att experimentera med <a href="https://developers.facebook.com/tools/explorer/">API Explorern</a> och upptäcka möjligheterna med APIet.</p>
<p><strong>LinkedIn Groups API</strong><br />
LinkedIn har nu utökat sitt <a href="http://blog.linkedin.com/2011/06/30/linkedin-groups-api/">API med stöd för Groups</a>, så att det via APIet går att hantera diskussionerna i en grupp, hantera gruppmedlemskap etc. </p>
<p>Samtidigt så <a href="http://techcrunch.com/2011/07/01/linkedin-cuts-off-api-access-to-branchout-monsters-beknown-and-others-for-tos-violations/">stängde LinkedIn av API access till flera stora användar</a>, bla Monsters rekryterings app Beknown. Detta för att de har brutit mot LinkedIns Terms of Service och har försökt tjäna pengar på LinkedIns API. Det handlar mest om existerande eller potentiella konkurrenter till LinkedIn som har blivit avstängda.</p>
<p><strong>Google+ API kommer, men inte riktigt än</strong><br />
Om någon har missat det så har Google lanserat <a href="https://plus.google.com">Google+</a>, ett snyggt försök att samla in mer datapunkter för att förbättra sin sökning genom att skapa ett socialt nätverk. Ännu finns inget API till Google+, men Google har redan lovat att det kommer. Vic Gundotra, högsta hönset på Google vad gäller social media, har sagt att det är &#8220;<a href="http://news.cnet.com/8301-19882_3-20075974-250/developer-api-for-google-its-coming/">inconceivable I would build something without a platform</a>&#8220;. Vackra ord för oss som gillar APIer.</p>
 <p><a href="http://www.mashup.se/?flattrss_redirect&amp;id=1262&amp;md5=1fb3cffa052b15ff1fcdeeb09cccce2f" title="Flattr" target="_blank"><img src="http://www.mashup.se/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.mashup.se/nyheter/api-mandag-facebook-api-explorer-linkedin-groups-google/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  www.mashup.se/api/feed ) in 0.57622 seconds, on Feb 8th, 2012 at 8:50 am UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 8th, 2012 at 9:50 am UTC -->
