APICall

Hallo Herr Felsch,


Ich versuche seit kurzem APICall mit einem koreanischen Webshop zu verbinden.

Da habe ich einige Probleme und hätte Frage wie folgt:


Ich muss im Feld requestHeaders ausfüllen. Das Problem ist, dass ich nicht weiß, in welcher Sprache angegebenen werden muss.

Ich habe Beispiele von Java, PHP, Node,js, Python und C#.

Gibt es hier Sprache, die mit APICall bzw. requestHeaders kompatibel ist?


Mit freundlichen Grüßen


HS Kang



Hallo,

Ich wollte noch PHP Beispiel ergänzen:


<?php

$client_id = "nhBrerVRQyh8jlwxxxxx";

$client_secret = "qLifX7xxx";

$encText = urlencode("가방");

$url = "https://openapi.naver.com/v1/search/shop.xml?query=".$encText; // xml

$is_post = false;

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_POST, $is_post);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$headers = array();

$headers[] = "X-Naver-Client-Id: ".$client_id;

$headers[] = "X-Naver-Client-Secret: ".$client_secret;

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

$response = curl_exec ($ch);

$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

echo "status_code:".$status_code."

";

curl_close ($ch);

if($status_code == 200) {

echo $response;

} else {

echo "Error 내용:".$response;

}

?>

Hallo Herr Kang,


vielen Dank für das Beispiel. Anhand des PHP Skripts muss nur der query Parameter auf koreanisch(?) url encoded übergeben werden. Sie können dafür z.B. eine Flowvariable anlegen und das Freemarker Build-In ?url verwenden (entspricht php -> urlencode im Beispielcode)


Die Request Headers können sie im entsprechenden Feld unter erweiterte Einstellungen angeben:



Wenn Id und Token korrekt sind sollten sie in der Vorschau eine XML Response sehen.


Um aus der Response ein Ergebnis Spreadsheet zu erstellen, müssen sie noch ein "parsingTemplate" hinterlegen. Sie finden einige Beispiele in unsere Dokumentation für den "XML2Spreadsheet" und "APICall" Step.


Viele Grüße

Torsten Felsch






Hallo Herr Felsch,


Vielen Dank für Ihre Unterstützung.

Es funktioniert.

Aber habe noch eine Frage zu query Parameter und zwar ich will mehre Suchbegriffe benutzen und habe mehre Wörter als mehrzeilige Text angegeben. Dann geht es nicht. Ich gehe davon aus, dass etwas fehlt bzw. statt Zeilenumbruch irgend ein Zeichen eingesetzt werden muss.

Können Sie mir bitte sagen, ob die Einstellung vom unten angegebenen Abbild richtig ist?


Mit freundlichen Grüßen


HS Kang

image


Hallo Herr Kang,


aus dem Beispielcode kann ich leider nicht erkennen ob mehrere query Parameter pro Call möglich sind. Ich vermute aber, dass sie einen Call pro Suchbegriff (query) ausführen müssen. In diesem Fall würde ich ihnen empfehlen den SpreadsheetUrlDownload Step zu verwenden. Der Step führt pro Zeile des Input Spreadsheets eine Call aus. Sie müssten sich zunächst ein Spreadsheet mit ihren Suchbegriffen (z.B. aus einer CSV Datei) erzeugen.




Dieses Spreadsheet verwenden sie als input im SpreadsheetUrlDownload Step. Das Feld RequestHeader können sie wie beim APi Call Step befüllen.



Der Step führt pro Zeile/query einen GET Request aus:


Viele Grüße

Torsten Felsch