| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

13-12-2011, 08:18
|
|
Lengen1971
Registrierter Benutzer
|
|
Registriert seit: Oct 2003
Beiträge: 57
|
|
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
|

13-12-2011, 08:33
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Der SoapClient kennt die Methoden __getFunctions() und __getTypes().
Diese sagen dir alles, was du wissen musst.
|

13-12-2011, 08:50
|
|
Lengen1971
Registrierter Benutzer
|
|
Registriert seit: Oct 2003
Beiträge: 57
|
|
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
Geändert von Lengen1971 (13-12-2011 um 09:57 Uhr)
|

13-12-2011, 09:08
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Dann weißt du mehr über den Service als ich.
Und damit endet meine Hilfe hier.
|

13-12-2011, 09:32
|
|
streuner
Registrierter Benutzer
|
|
Registriert seit: Aug 2009
Ort: Lüneburg
Beiträge: 461
|
|
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 ---"
|

13-12-2011, 09:47
|
|
ezkimo
Registrierter Benutzer
|
|
Registriert seit: Apr 2005
Ort: Beckum / Westf.
Beiträge: 211
|
|
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.
|

13-12-2011, 09:59
|
|
Lengen1971
Registrierter Benutzer
|
|
Registriert seit: Oct 2003
Beiträge: 57
|
|
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
|

13-12-2011, 10:17
|
|
Lengen1971
Registrierter Benutzer
|
|
Registriert seit: Oct 2003
Beiträge: 57
|
|
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
|

13-12-2011, 10:24
|
|
Lengen1971
Registrierter Benutzer
|
|
Registriert seit: Oct 2003
Beiträge: 57
|
|
das steht unter 2.2, kann mir jemand erklären, was das bedeutet?
Zitat:
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.

• LocationService benötigt ListAuthentication
• EstateService benötigt ListAuthentication
• EstateExpose benötigt ExposeAuthentication
|
|

13-12-2011, 10:32
|
|
ezkimo
Registrierter Benutzer
|
|
Registriert seit: Apr 2005
Ort: Beckum / Westf.
Beiträge: 211
|
|
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.
|

13-12-2011, 10:48
|
|
Lengen1971
Registrierter Benutzer
|
|
Registriert seit: Oct 2003
Beiträge: 57
|
|
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
|

13-12-2011, 12:10
|
|
Lengen1971
Registrierter Benutzer
|
|
Registriert seit: Oct 2003
Beiträge: 57
|
|
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
|

14-12-2011, 09:04
|
|
Lengen1971
Registrierter Benutzer
|
|
Registriert seit: Oct 2003
Beiträge: 57
|
|
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
|

14-12-2011, 09:05
|
|
KeinenPlan
Registrierter Benutzer
|
|
Registriert seit: Aug 2006
Beiträge: 3
|
|
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??
|

14-12-2011, 09:30
|
|
Lengen1971
Registrierter Benutzer
|
|
Registriert seit: Oct 2003
Beiträge: 57
|
|
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
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|