Kehittäjille

Luo tili saadaksesi API avain.

Ennen pyyntöjä palvelimelle API-avain on pakollinen. API-avaimen löytää oman tilin asetukset sivulta.

Kun käyttäjä rekisteröityy API-avain luodaan automaattisesti. API-avain on pakollista lisätä pyyntöön api parametrin kohdalle (Katso esimerkki alapuolelta).

Pyynnön lähettäminen

Pyyntöä lähettäessä parametrit api ja url ovat pakollisia. Katso esimerkki alapuolelta. Käyttääksesi custom aliasta, yksinkertaisesti vain lisää &custom= loppuun.

  GET http://los.fi/api?api=APIAVAIN&url=LYHENNETTÄVÄ_OSOITE&custom=CUSTOMALIAS

Palvelimen vastaus

Palvelimen vastaus tulee enkoodatussa JSON formaatissa (oletusarvo). Tämä on tehty toimiakseen monella eri ohjelmointikielellä. Vastauksen ensimmäinen elementti kertoo sinulle onko tapahtunut virheitä (error: 1) tai (error: 0). Seuraava elementti muuttuu virheiden mukaisesti. Jos kuitenkin tapahtuu virhe seuraavan elementin nimi vaihtuu “msg”: joka sisältää alkuperäisen virhe viestin, muuten nimi pysyy “short” joka sisältää lyhennetyn URL-osoitteen. (Katso esimerkki alapuolelta.)

// Ei virheitä
{
  "error":0,
  "short":"http:\/\/los.fi\/DkZOb"
}
// Tapahtui virhe
{
  "error":1,
  "msg":"Please enter a valid email"
}

Teksti formaatin käyttö

Voit nyt lähettää myös pyynnön saadaksesi vastauksen tekstinä, yksinkertaisesti lisää vain &format=text pyynnön loppuun. Vastaukseksi saat esimerkiksi: http://los.fi/DkZOb JSON:in tilalta. Huomaathan että jos pyynnössä tapahtuu virhe, serveri ei anna vastausta.

API:n käyttäminen PHP:lla

Käyttääksesi API:a php ohjelmassasi sinun täytyy lähettää pyyntö file_get_contents kautta tai cURL kautta. Kummatkin ovat täysin toimivia vaihtoehtoja.

// Luodaan uusi muuttuja joka pitää sisällään Los.fi API:n urlin.
$api_url = "http://los.fi/api?api=APIAVAIN&url=LYHENNETTÄVÄ_OSOITE&custom=CUSTOMALIAS";

// Ladataan JSON Los.fi API:sta ja "dekoodataan" se PHP:n json_decode funktiolla.
$jsonResponse = @json_decode(file_get_contents($api_url), true);

if ($jsonResponse["error"])
{
    // Jos tapahtui jokin virhe lyhentäessä linkkiä, tulostetaan virhe.
    echo $jsonResponse["msg"];
}
else
{
    // Kaikki meni hyvin lyhentäessä, tulostetaan uusi lyhytlinkki.
    echo $jsonResponse["short"];
}

// Halutessasi voit myös käyttää Los.fi API:n "format" parametriä.
// "text" parametri palauttaa vastauksen palvelimesta "plain text" muodossa.
$api_url =
"http://los.fi/api?api=APIAVAIN&url=LYHENNETTÄVÄ_OSOITE&custom=CUSTOMALIAS&format=text";

$plainTextResponse = file_get_contents($api_url);
if ($plainTextResponse)
{
    // Pyyntö palvelimelle onnistui, tulostetaan plain text vastaus.
    echo $res;
}

API:n käyttäminen C#:lla

Tässä esimerkissä JSON vastauksen parsimiseksi käytämme Newtonsoftin "Json.NET" kirjastoa.

using System;
using System.Net;
using Newtonsoft.Json.Linq;
// Luodaan uusi WebClient objekti webpyyntöjen lähettämistä varten.
using (var client = new WebClient())
{
    // Ladataan JSON Los.fi API:sta.
    var data = client.DownloadString(
        "http://los.fi/api?api=APIAVAIN&url=LYHENNETTÄVÄ_OSOITE"
    );
 
    // Parsitaan JSON teksti "JObject" objektiksi.
    var json = JObject.Parse(data);
 
    if ((int)json["error"== 1)
    {
        // Jos tapahtui jokin virhe lyhentäessä linkkiä, tulostetaan virhe.
        Console.WriteLine(json["msg"]);
    }
    else
    {
        // Kaikki meni hyvin lyhentäessä, tulostetaan uusi lyhytlinkki.
        Console.WriteLine(json["short"]);
    }
}

 

API:n käyttäminen jQuery:llä

Tässä esimerkissä JSON vastauksen lähettämiseen sekä parsimiseen käytämme JavaScript kirjastoa nimeltä jQuery.

// Verkkosivuston ladatessa suoritetaan jQuery:n oma ready funktio.
$(window).ready(function()
{
    // Lähetetään AJAX pyyntö palvelimelle
    $.ajax({
        url: "http://los.fi/api?api=APIAVAIN&url=LYHENNETTÄVÄ_OSOITE&custom=CUSTOMALIAS",
        type: "GET",
        crossDomain: true,
        dataType: "jsonp",
        success: function(data)
        {
            // Pyyntö onnistui, kirjoitetaan selaimen konsoliin uusi lyhytosoite.
            console.log(data.short);
        },
        error: function(data)
        {
            // Pyyntö epäonnistui, kirjoitetaan virhe konsoliin.
            console.log(data);
        }
    });
});

 

 

 

Löydät meidät myös somesta

Facebook Likes

Like us on FacebookFollow us on Twitter