Weblife1 API

Aus Szene1 Wiki
Wechseln zu: Navigation, Suche

Das Weblife1 API ermöglicht den Zugriff auf Daten der Portale des Weblife1 Netzwerkes.

Für den Zugriff auf das Weblife1 API benötigst du einen Szene1 Benutzer und einen API-Schlüssel. Einen API-Schlüssel bekommst du durch das Anlegen einer neuen Applikation in der AppZone. Dort kannst du auch deine bestehenden Applikationen verwalten.

Jede neu angelegte Applikation ist auf 500 Anfragen pro Tag limitiert. Diese Limitierung kann nach Rücksprache mit den Administratoren erhöht werden. Du kannst die Anzahl der Anfragen, die deine Applikation gemacht hat, in der AppZone unter "My Apps" ansehen.

Inhaltsverzeichnis

Allgemeines

Letzte Änderungen

  • Version 1.21 (still working on):

- 19.04.2011: Neue Methoden: timeline/getstreamhash
- 19.04.2011: Stream-Mode "raw_xml" implementiert.


ChangeLog

Zur Dokumentation

Es wird unterschieden zwischen userbasierter und nicht userbasierter Aufrufe. Für userbasierte Aufrufe wird ein sogenanntes "authtoken" benötigt.

Dieses "authtoken" wird über User - Section / Login - Methode geholt und muss bei allen Aufrufen, die diesen benötigen, mitgegeben werden.

In der Dokumentation vorkommende Beispiele sind in PHP 5.1 geschrieben.

Dokumentation für Version: 1.18

Anforderungsformate

Das Weblife1 API ist REST-basiert. Das heißt, dass die Methoden des API über einfache HTTP-Anfragen auf http://rest.api.weblife1.com aufgerufen werden. Die meisten Aufrufe werden über eine GET oder POST Anfrage durchgeführt. Näheres entnimmst du am Besten der Dokumentation zu den einzelnen Methoden.

Momentan wird als Antwortformat nur XML unterstützt. Befinden sich in einer Antwortvariable HTML bzw. andere Sonderzeichen, so wird dieser Tag als CDATA ausgeliefert.

Anforderungen an die REST API über HTTP GET sind nach folgendem System aufgebaut:

http://rest.api.weblife1.com/section/methode/param1/wert1/param2/wert2

Bei einer Anforderung über HTTP POST müssen die Parameter im Request Body gesendet werden.

Authentifizierung

Die Authentifizierung erfolgt über die Parameter apikey und authsecret. Das authsecret ergibt sich aus dem MD5 Hash von Section, Methode, API Key und API Secret.

Du kannst Folgendes verwenden um ein authsecret in PHP zu erzeugen:

$authsecret = md5($section . $method . $apiKey . $apiSecret);

Beispiel für eine Anforderung über GET

<?php
 
$apikey    = "Dein API Key";
$apisecret = "Dein API Secret";
 
$section = "test";
$method  = "echo"; 
 
$authsecret = md5($section . $method . $apikey . $apisecret);
 
$url = "http://rest.api.weblife1.com/$section/$method/apikey/$apikey/authsecret/$authsecret/foo/bar";
 
echo file_get_contents($url);
/*
Ausgabe:
 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE test PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<test>
  <apikey>geheimerkey</apikey>
  <authsecret>56ce2a739f09d5b5c150eebe96947861</authsecret>
  <foo>bar</foo>
</test>
*/

Bespiel für eine Anforderung über POST

<?php
 
$apikey    = "Dein API Key";
$apisecret = "Dein API Secret";
 
$section = "test";
$method  = "echo"; 
 
$authsecret = md5($section . $method . $apikey . $apisecret);
 
$params = array(
  "apikey"     => $apikey,
  "authsecret" => $authsecret,
  "section"    => $section,
  "method"     => $method,
  "foo"        => "bar"
);
 
$opts = array(
    "http" => array(
        "method"  => "POST",
        "header"  => "Content-type: application/x-www-form-urlencoded",
        "content" => http_build_query($params)
    )
);
 
$contents = file_get_contents("http://rest.api.weblife1.com", false, stream_context_create($opts));
 
echo $contents; // -> Ausgabe wie vorher

Generelle Fehler

Generelle Fehler können bei jedem Aufruf auftreten. Handelt es sich um Aufrufe für die kein authtoken notwendig ist, so fallen die Fehler #5 und #104 logischerweise weg.

Eine Fehler-Antwort hat das folgende Format:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE error PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<error>
  <errorcode>[Ein Fehler Code]</errorcode>
  <errormessage>[Die Fehlermeldung]</errormessage>
</error>

Auf Grund der Übersichtlichkeit werden diese hier einmal notiert, und in Folge nur mehr auf diese Stelle im Dokument verwiesen.

1 API_GEN_UNKNOWN_ERROR
2 API_GEN_SERVICE_UNAVAILABLE
3 API_GEN_UNKOWN_CALL
4 API_GEN_TOO_MANY_CALLS
5 API_GEN_AUTH_TOKEN_ERROR
6 API_GEN_TOO_MANY_REQUESTS
7 API_GEN_KEY_LOCKED
100 API_APP_INVALID_PARAM
101 API_APP_MISSING_PARAM
102 API_APP_INVALID_AUTH_SECRET
103 API_APP_INVALID_API_KEY
104 API_APP_INVALID_AUTH_TOKEN
105 API_APP_NO_ACCESS

Sections

  • Group 
    Szene1-Gruppenfunktionen
  • Comments
    Mit dieser Sektion kann zu gewissen Contenttypes (z.b. Userfoto, Eventfoto,..) kommentiert werden. (NEU!)
  • PN 
    Nachrichtensystem
  • Requests 
    Anfragen anzeigen, ablehnen und bestätigen (NEU!)
  • System 
    API Version abrufen usw..
  • ServiceLogin 
    Handshakeverfahren anstatt einem gewöhnlichen Login
  • Timeline
    Szene1 Timeline (NEU!)
  • Test 
    Testsection, um die API leichter zu verstehen.

Events & Location

User

Tools

PHP-SDK
Eine PHP Bibliothek für den Zugriff auf das API. Benötigt PHP5 mit aktivierter CURL Erweiterung und SimpleXML Erweiterung.

Todo

  • Registrierung implementieren
    * Usereinstellungen implementieren
Meine Werkzeuge