API Immowelt benutzen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • API Immowelt benutzen

    Guten Morgen,

    seit gestern versuch ich mich an der API von Immowelt. Die Doku dazu hab ich und konnte raufinden, dass es sich um einen WSDL-Link handelt, den man dann mit SOAP aufrufen muss.
    PHP-Code:
    $myImmo=new SoapClient ("http://api.immowelt.de/WebServices/EstateService.asmx?WSDL"); 
    Leider fehlt in der Doku ein Schnippsel, wie man sich mit dem beantragten API-Key dort anmelden muss. Also, ich weiß weder genau den Befehl noch die Parameter, die ich übergeben muss.

    Mail vom API-Support sagt, dass sie keinen Sample-Code zur Verfügung stellen können/wollen.

    Kann mir hier jemand weiterhelfen?

    Danke und Gruß
    Michael

    PS: SOAP ist natürlich aktiviert, ich nutze PHP 5.3.8

  • #2
    Der SoapClient kennt die Methoden __getFunctions() und __getTypes().
    Diese sagen dir alles, was du wissen musst.
    Wir werden alle sterben

    Kommentar


    • #3
      Hi,

      yo, das wußt ich scho, ich bekomm auch alle Functions angezeigt und die stehen ja auch in der Doku. ABER, ich muss irgendwie einen Key übergeben um mich zu authen. Jetzt kommt immer:

      Code:
      Fatal error: Uncaught SoapFault exception: [soap:Server] Access denied in D:\www\www7\demo
      \immotest.php:6 Stack trace: #0 D:\www\www7\demo\immotest.php(6): SoapClient->__call('getList', Array) #1 
      D:\www\www7\demo\immotest.php(6): SoapClient->getList('108') #2 {main} thrown in D:\www\www7\demo
      \immotest.php on line 6
      Gruß
      Michel
      Zuletzt geändert von Lengen1971; 13.12.2011, 09:57.

      Kommentar


      • #4
        Dann weißt du mehr über den Service als ich.
        Und damit endet meine Hilfe hier.
        Wir werden alle sterben

        Kommentar


        • #5
          Hi,

          suchst Du das?

          PHP-SDK-Tutorial

          mfg streuner
          Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
          der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

          "Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"

          Kommentar


          • #6
            Brich mal Deine Fehlermeldung um! Horizontal scrollen zu müssen ist hier im Forum der Tot Deiner Frage!

            Wenn der Webservice keine entsprechende Funktion zur Authentifizierung zurück gibt, schaue mal in der PHP Dokumentation nach SoapHeader. Steht aber auch in der immowelt Dokumentation im Abschnitt 2.2 Authentifizierung mittels API-Schlüssel.
            MM Newmedia | MeinBlog

            Kommentar


            • #7
              Hi,

              danke für die Antworten.

              @streuner: das ist Immoscout24, das hatte ich schonmal, aber unsere Kundin hat immowelt. Hier gibt´s keinerlei Sample-Codes. Nur paar C#-Aufrufe, aber auch ohne den Auth-Teil.

              @ezkimo: sry, ist umbrochen.

              Freu mich über weitere Hilfe.

              Gruß
              Michel

              Kommentar


              • #8
                Hi,

                @ezkimo: zu Punkt 2.2: hab ich scho gesehen, aber ich find in der ganzen PHP-Doku nix über ApiAuthentication oder ListAuthentication. Auch die Soap-Functionlist bringt nichts, was so heißt.

                Die SoapHeader hab ich mir angesehen, aber hier ist auch nicht die Rede von irgendeiner Authentifizierung.

                Gruß
                Michel

                Kommentar


                • #9
                  das steht unter 2.2, kann mir jemand erklären, was das bedeutet?

                  2.2. Authentifizierung mittels API-Schlüssel
                  Für den Zugriff auf die WebServices zum Abfragen der Daten wird eine
                  Authentifizierung benötigt. Dies geschieht in Form eines API-Schlüssels, den Sie
                  von uns erhalten. Momentan sind somit folgende Dienste nur mit einem APISchlüssel
                  erreichbar.
                  [ATTACH]3167[/ATTACH]
                  • LocationService benötigt ListAuthentication
                  • EstateService benötigt ListAuthentication
                  • EstateExpose benötigt ExposeAuthentication
                  Angehängte Dateien

                  Kommentar


                  • #10
                    Du solltest auch immer einen Blick in die User Kommentare in der PHP Dokumentation werfen. Schau mal hier: PHP: SoapClient - Manual

                    Eventuell hilft Dir das weiter. Alternativ könntest Du auch den Support von immowelt befragen. Das würde sicherlich schneller gehen, als uns hier schätzen zu lassen, wo das Problem liegen könnte.
                    MM Newmedia | MeinBlog

                    Kommentar


                    • #11
                      Hi,

                      ja, die api@immowelt.de hab ich natürlich als erstes befragt. Die wollen oder können mir keinen Sample-Code geben und auf den Fehler kam keine Antwort mehr.

                      Ich bin jetzt schon zwei Stunden in der PHP-Doku mit User-Kommentaren. Ich find leider nichts, was mir hilft, mich zu authen.

                      Gruß
                      Michel

                      Kommentar


                      • #12
                        Hi,

                        @ezkimo: ihr müßt übrigens keine Schätzungen abgeben, ich hätte gehofft, jemand hat die API schonmal benutzt und kann mir sagen, wie ich mich authen muss.

                        Gruß
                        Michel

                        Kommentar


                        • #13
                          Hi,

                          nun, gott-sei-dank hat mein Kollege eine Typo3-Extension gefunden, dieses t3x Packet kann man entpacken und die PHP-Dateien durchsuchen. Tatsächlich waren die gesuchten Befehle drin, da wär ich NIE drauf gekommen.

                          Mit etwas anpassen geht die Geschichte nun mit Authentifizierung.

                          Hier die gesuchten Zeilen:
                          PHP-Code:
                          $immo=new SoapClient("http://api.immowelt.de/WebServices/EstateService.asmx?WSDL",array('trace' => true'exceptions' => true));
                          $apikey "< mein API-Key >";
                          $header = new SoapHeader('http://immowelt.de/services''ListAuthenticationHeader', array('ApiKey' => $apikey)); 
                          Was z. B. nirgends in der Doku oder den Mails, die von Immowelt kommen, steht, ist der Paramter 1 von SoapHeader, der 'namespace'.

                          Und dann der erste Abfrageversuche:
                          PHP-Code:
                          $estateParameter[] = array('Key' => 'EType''Value' => '1,2,3,4,5,6,7,8,10,11,12,13,15,16,17,19');
                          $getEstateListParam = array('GeoID' => '108',
                                          
                          'parameter' => $estateParameter,
                                          
                          'CurrentPage' => 1,
                                          
                          'PageSize' => 4);
                          $response=$immo->__soapCall("getList", array('parameters'=>$getEstateListParam), NULL,$header); 
                          Gruß
                          Michael

                          Kommentar


                          • #14
                            Hallo,
                            hm ich versuche mal mein Bestes um Dir zu helfen:
                            Die entsprechenden Seiten auf Immowelt hast Du Dir schon durchgelesen?
                            Also zum Beispiel die API-FAQs ?!

                            Ich überlasse Dir mal folgenden Codeschnipsel, evtl kannst Du ja was damit anfangen ;-)
                            Code:
                            $client = new SoapClient(“http://api.immowelt.de/WebServices/EstateService.asmx?WSDL”);                                              
                            $authHeader = new SoapHeader(‘http://immowelt.de/services’, ListAuthenticationHeader, array('ApiKey' => ‘APIKEY’));                                     
                            $params = array('params' => ‘value’);                                   
                            $result =  $client->__soapCall(‘METHODENNAME’, array('parameters' => $params), NULL, $authHeader);
                            Hat Dir das geholfen??

                            Kommentar


                            • #15
                              Hi,

                              ja, dein Code-Schnippsel hätte mir weitergeholfen, aber gestern am Spätnachmittag konnt ich diesen in besagter Typo3-Ext. finden.

                              Die API-FAQ und die Doku als PDF sind (fast) unbrauchbar, kann mir vorstellen, dass ein Vollprofi-Programmierer das schon hätte rausfinden können. Ich als Hinterhof-Coder nehm nächstes Mal wieder immoscout24, deren API ist super dokumentiert und ein gut kommentiertes Beispielscript ist auch dabei.

                              Danke trotzdem für eure Mühnen
                              Gruß
                              Michael

                              Kommentar

                              Lädt...
                              X