ilch Forum » Allgemein » HTML, PHP, SQL,... » Brauche Hilfe - API in ilch einbinden

Geschlossen
  1. #1
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    Also was das Thema API angeht bin ich ein völliger Frischling.

    Ich kann mir gut vorstellen dass ich in Zukunft das ein oder andere Modul in Verbindung mit einer API erstelle - als Beispiel diese WoW API.

    Mein Problem bei dem Ganzen ist, ich habe Null Ahnung wie ich eine API anspreche und die gelieferte Daten dann in PHP einschleuße.
    Also mein Problem liegt in der Übergabe, damit ich die Daten anschließend über PHP in eine DB speichere oder anderweitig verarbeite.

    Wie gesagt bin ich in diesem Thema noch nicht bewandert und würde mich herantasten wollen und damit meinen Horizont erweitern.


    Gibt es da so eine Art Tutorial dazu wie man eine API anspricht und diese Daten dann in PHP übertragen kann, damit man mit den Daten weiterarbeiten kann?


    Wenn ich bei Goolge suche bzw. GitHub, finde ich eben nur fertige API's inkl. nutzbare Kommandos - aber nicht das Hintergrundwissen wie man diese API in ein PHP-Script einbindet oder die Daten der Kommandos in HTML ausgibt.


    Also ich fange in diesem Bereich wirklich bei Null an und benötige daher einen Crahskurs/Einstieg dazu - alles andere geht dann nach dem Motto "do it yourself".


    Habt ihr mir da eventuell Links oder Tipps dazu?


    Wäre euch dankbar dafür. lächeln
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    dastiii Mitglied
    Registriert seit
    27.12.2005
    Beiträge
    2.354
    Beitragswertungen
    84 Beitragspunkte
    Die einfachste Variante:

    $output = file_get_contents('http://us.battle.net/api/wow/item/18803');
    
    echo $output; # => {"id":18803,"disenchantingSkillRank":225,"description":"Property of Finkle Einhorn, Grandmaster Adventurer","name":"Finkle's Lava Dredger","icon":"inv_gizmo_02","stackable":1,"itemBind":1,"bonusStats":[{"stat":51,"amount":11},{"stat":5,"amount":18},{"stat":6,"amount":16},{"stat":7,"amount":19}],"itemSpells":[],"buyPrice":474384,"itemClass":2,"itemSubClass":5,"containerSlots":0,"weaponInfo":{"damage":{"min":81,"max":122,"exactMin":81.0,"exactMax":122.0},"weaponSpeed":2.9,"dps":35.0},"inventoryType":17,"equippable":true,"itemLevel":70,"maxCount":0,"maxDurability":120,"minFactionId":0,"minReputation":0,"quality":4,"sellPrice":94876,"requiredSkill":0,"requiredLevel":60,"requiredSkillRank":0,"itemSource":{"sourceId":179703,"sourceType":"GAME_OBJECT_DROP"},"baseArmor":0,"hasSockets":false,"isAuctionable":false,"armor":0,"displayInfoId":31265,"nameDescription":"","nameDescriptionColor":"000000","upgradable":true,"heroicTooltip":false,"context":"","bonusLists":[],"availableContexts":[""],"bonusSummary":{"defaultBonusLists":[],"chanceBonusLists":[],"bonusChances":[]}}


    Das was du zurück bekommst ist einfach nur JSON, dementsprechend:
    $result = json_decode($output);


    Und schon hast du in $result alle von der API gesendeten Daten in einem Array.

    Die ein oder andere API hat dann möglicherweise noch "Schutzmechanismen". Beispiel: API liefert nur Ergebnisse zurück, wenn ein User-Agent gesetzt ist. Daher am besten direkt statt file_get_contents() in cURL einlesen.

    Edit: Eine API muss natürlich nicht zwangsweise mit JSON antworten, ist aber doch meistens der Fall.


    Zuletzt modifiziert von dastiii am 21.12.2014 - 21:23:09
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    Danke für den Tipp, damit kann ich doch schon mal "herumspielen". lachen
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten