Wat is een API?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bart Matsko

Bart Matsko

03/12/2013 10:25:30
Quote Anchor link
Hallo,

Ik kom steeds vaker het woord API tegen, mijn hosting bedrijf Versio heeft nu ook een nieuwe API. Maar mijn vraag is, wat is een API en wat kan ik ermee?

Zou iemand mij dat simpel kunnen uitleggen en hoe dit werkt. Ik beheer alleen een beetje HTML, CSS en PHP dus is het handig voor mij om een API te gebruiken?

Alvast bedankt,
 
PHP hulp

PHP hulp

13/04/2024 18:58:01
 
B a s
Beheerder

B a s

03/12/2013 10:29:43
Quote Anchor link
http://nl.wikipedia.org/wiki/Application_programming_interface

Kort gezegd: als jij een systeem hebt en je wilt anderen toegang geven op dat systeem en je wilt dat dit gecontroleerd gaat, dan schrijf jij iets waarmee anderen toegang kunnen krijgen tot jouw data.
Gewijzigd op 03/12/2013 10:30:48 door B a s
 
Kris Peeters

Kris Peeters

03/12/2013 14:09:16
Quote Anchor link
@ Bart. Ik weet niet of je veel aan dit bericht zult hebben; ik spreek over javascript.
Misschien heb je er toch iets aan; en misschien kan het anderen inspiratie geven.

---

Een voorbeeld van hoe je een javascript-API kan maken.
Zie het (een beetje) zoals een Twitter API zou kunnen zijn.

Ergens op een server staan een hoop berichten. We willen met javascript zoeken in die berichten; en de berichten terugkrijgen waar onze zoekterm in voorkomt.

Waarom is een API nodig? Je kan niet zomaar een Ajax-verzoek doen naar een ander domein.

Met volgende constructie kan het wel


Op de server die de API aanbiedt:
api.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
/**
*  Voorbeeld van een javascript API.  De echo van dit script komt dus als javascript bij de client
*/

if(isset($_GET['search'])) {
  // Als voorbeeld: we gaan zoeken naar messages in een shoutbox, waar een woord in voorkomt.
  // bv. met zo'n SQL string

  $sql = "SELECT title, message, author FROM shoutbox where message LIKE '%" . $_GET['search'] . "%' ";
  // ...
  
  // maar voor het gemak werken we even met gegevens die "hard coded" zijn.
  // je herkent het lied ongetwijfeld

  $messages = array (
    'Steeds als ik je zie lopen',
    'dan gaat de hemel een klein beetje open.',
    'Sterren, je laat ze verbleken',
    'met je ogen die altijd stralen.',
    'Jij kan de zon laten schijnen',
    'want je loopt langs en de wolken verdwijnen',
    'en als je lacht, lacht heel de wereld mee.',
  ) ;

  $results = array();
  // we gaan enkel de lijnen tekst terug geven waar het zoekresultaat van $_GET['search'] voorkomt.
  foreach ($messages as $key=>$message) {
    if (FALSE !== strpos($message, $_GET['search'])) {
      $results[] = $message;
    }
  }

  // We sturen een header waarmee we duidelijk maken dat dit bedoeld is als javascript
  header('Content-Type: application/javascript');
  
  // we gaan het resultaat echo'en.  We steken het in een javascript-variabele.
  echo 'var messages = ' . json_encode($results) . ';';
}

?>



Op de website die de API gebruikt
index.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!doctype html>
<html>
  <head>
  <script type="text/javascript" src="api.php?search=de"></script>
  <script>
  /**
  *  We hebben dus net api.php geladen.  Die heeft een var messages aangemaakt.  
  *  Die zal dus speuren naar lijnen tekst waar de string "de" voorkomt.
  *  Voel je vrij om het zoekwoord te veranderen, in lijn 4 van deze code  (bv. zoeken naar 'zon' -> api.php?search=zon)
  */
  window.onload = function () {  // wordt uitgevoerd als de pagina geladen is
    if (typeof messages != 'undefined') {
      for (var i=0; i<messages.length; i++) {
        document.getElementById('shouts').innerHTML += '<p>' + messages[i] + '</p>';
      }
    }
  }
   </script>
  </head>
  <body>
    <h2>Shoutbox</h2>
    <div id="shouts"></div>
  </body>
</html>
Gewijzigd op 03/12/2013 14:12:21 door Kris Peeters
 
Tim van Norde

Tim van Norde

05/12/2013 23:39:18
Quote Anchor link
Een API biedt jou simpelweg toegang tot data en/of services die zich elders bevinden.
Zo kun je bij Google bijvoorbeeld maps ophalen etc. via de API.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.