Hallo,
Ich bin grad etwas mit einer Documentation überfordert.
Weiss jemand wie man nach einem POST - Aufruf die Antwort abfrägt, bzw. wie kann man das machen?
Etwas schlecht geschildert ich hoffe doch aber das ihr wisst was ich meine
Vielen Dank!
Hallo,
Ich bin grad etwas mit einer Documentation überfordert.
Weiss jemand wie man nach einem POST - Aufruf die Antwort abfrägt, bzw. wie kann man das machen?
Etwas schlecht geschildert ich hoffe doch aber das ihr wisst was ich meine
Vielen Dank!
mit $_POST['key']. Key ist dabei aus dem <input type="text" name="key"> ersichtlich.
Bei GET läuft das übrigends genau so, nur mti $_GET ansatt $_POST.
Eigentlich meinte ich eher bsp. eine SDK.
Man erstellt erstmal einen Post und kriegt dann ne Response.
http://www.lornajane.net/posts…e-a-post-request-from-php
Zum Beispiel hier.
Aber wie kann man die Response kriegen?
verstehe ich gerade nicht. wenn du möchtest und kannst, kann ich dir per TS helfen. 193.111.136.234:9987
Guck mal hier: https://developer.paypal.com/d…ect/make-your-first-call/
Da steht dann Sample response:
Was für ne Sample response?
Wo kommt die her bzw. wie kriegt man die Daten.?
Lg.
das wird mit PHP aus einer Datenbank etc. ausgelesen und in Format "json" ausgegeben.
Hast du ein Beispiel Code?
so sieht das etwa aus.
<?php
require_once ('konfiguration.php');
$db_link = mysqli_connect (
MYSQL_HOST,
MYSQL_BENUTZER,
MYSQL_KENNWORT,
MYSQL_DATENBANK
);
$sql = "SELECT * FROM adressen";
$db_erg = mysqli_query( $db_link, $sql );
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysqli_error());
}
$data = array();
$id = 0;
while ($zeile = mysqli_fetch_array( $db_erg, MYSQL_ASSOC))
{
$data[$id]['id'] = $zeile['id'];
$data[$id]['nachname'] = $zeile['nachname'];
$data[$id]['vorname'] = $zeile['vorname'];
$data[$id]['akuerzel'] = $zeile['akuerzel'];
$data[$id]['strasse'] = $zeile['strasse'];
$data[$id]['plz'] = $zeile['plz'];
$data[$id]['telefon'] = $zeile['telefon'];
$id ++;
}
mysqli_free_result( $db_erg );
json_decode($data);
?>
Alles anzeigen
ich weiß gerade nur nicht, obs decode oder encode war.
Ich habe übrigends http://www.php-kurs.com/mysql-datenbank-auslesen.htm als quelle für den Quellcode genommen.
Zitatcurl -v https://api.sandbox.paypal.com/v1/oauth2/token \
-H "Accept: application/json" \
-H "Accept-Language: en_US" \
-u "EOJ2S-Z6OoN_le_KS1d75wsZ6y0SFdVsY9183IvxFyZp:EClusMEUk8e9ihI7ZdVLF5cZ6y0SFdVsY9183IvxFyZp" \
-d "grant_type=client_credentials"
Dann kommt folgende Response:
ZitatAlles anzeigen{
"scope": "https://api.paypal.com/v1/payments/.* https://api.paypal.com/v1/vault/credit-card https://api.paypal.com/v1/vault/credit-card/.*",
"access_token": "<Access-Token>",
"token_type": "Bearer",
"app_id": "APP-6XR95014SS315863X",
"expires_in": 28800
}
Das hat doch nichts mit Datenbank zu tun?
Diese Response wird doch irgendwo aufgerufen aber wie?
<?php namespace tsa\http; /** * HTTP Wrapper for CURL Library * Part of account system. Do not distribute. * * @author Tion <admin@tionsys.de> */ class HTTPCURLLib {// implements HTTPLibInterface { private $ch = null; private $url = null; private $postdata = null; private $header = null; private $response = null; public function __construct() { $this->ch = curl_init(); curl_setopt($this->ch, CURLOPT_FAILONERROR, true); curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($this->ch, CURLOPT_SSL_VERIFYPEER, 1); curl_setopt($this->ch, CURLOPT_SSL_VERIFYHOST, 2); } public function setURL($url) { $this->url = $url; curl_setopt($this->ch, CURLOPT_URL, $this->url); curl_setopt($this->ch, CURLOPT_POST, 0); curl_setopt($this->ch, CURLOPT_POSTFIELDS, null); curl_setopt($this->ch, CURLOPT_HTTPHEADER, null); } public function setPostData($post) { $this->postdata = $post; curl_setopt($this->ch, CURLOPT_POST, 1); curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->postdata); } public function setHeaderData($header) { $this->header = $header; curl_setopt($this->ch, CURLOPT_HTTPHEADER, $this->header); } public function submit() { $this->response = curl_exec($this->ch); if(curl_errno($this->ch) > 0) throw new \tsa\HTTPException(curl_error($this->ch)); return $this->response; } }?>
Das wäre ne Library, die ich mir damals geschrieben habe.
Dann kannst du einfach
Das heißt bei SetHeaderData fragt man die Response ab?
möchtest du jetzt die Daten senden oder empfangen und verarbeiten?
Erst senden und dann die Response auslesen und verarbeiten.
In der Response ist ein Token enthalten, den ich brauche
Ja zum Senden kannst du das von Tion verwenden. zum Empfangen, kannst du es einfach per json_encode in ein array geben lassen.
dann würde dass etwa so aussehen.
Aus (so empfängst du die Daten)
{
"scope": "https://api.paypal.com/v1/payments/.* https://api.paypal.com/v1/vault/credit-card https://api.paypal.com/v1/vault/credit-card/.*",
"access_token": "<Access-Token>",
"token_type": "Bearer",
"app_id": "APP-6XR95014SS315863X",
"expires_in": 28800
}
wird das nach dem json_encode daraus
$array = json_decode('{
"scope": "https://api.paypal.com/v1/payments/.* https://api.paypal.com/v1/vault/credit-card https://api.paypal.com/v1/vault/credit-card/.*",
"access_token": "<Access-Token>",
"token_type": "Bearer",
"app_id": "APP-6XR95014SS315863X",
"expires_in": 28800
}');
//Ausgabe
print_r(§array);
"scope" = "https://api.paypal.com/v1/payments/.* https://api.paypal.com/v1/vault/credit-card https://api.paypal.com/v1/vault/credit-card/.*",
"access_token" = "<Access-Token>",
"token_type" = "Bearer",
"app_id" = "APP-6XR95014SS315863X",
"expires_in" = 28800
Alles anzeigen
Ja, aber wie komme ich denn an den Code?
Wie wird der denn ermittelt?
ZitatAlles anzeigen{
"scope": "https://api.paypal.com/v1/payments/.* https://api.paypal.com/v1/vault/credit-card https://api.paypal.com/v1/vault/credit-card/.*",
"access_token": "<Access-Token>",
"token_type": "Bearer",
"app_id": "APP-6XR95014SS315863X",
"expires_in": 28800
}
Es wird ja nur der POST gesendet, aber wie empfange ich diesen Code.
Da steht Response:
ZitatAlles anzeigen{
"scope": "https://api.paypal.com/v1/payments/.* https://api.paypal.com/v1/vault/credit-card https://api.paypal.com/v1/vault/credit-card/.*",
"access_token": "<Access-Token>",
"token_type": "Bearer",
"app_id": "APP-6XR95014SS315863X",
"expires_in": 28800
}
Aber wie wird mir denn überhaupt diese response zugespielt?
Diee Zeilen stehen ja nicht von alleine im Script, wie kommt man überhaupt an diesen Json Code, wo dann der Acces Token, App ID etc. enthalten ist?
json_encode
json_decode, mein lieber
in ein array geben lassen
Mieeep, Objecte nehmt man den Rückgabewert von json_decode()
Der Response wird dir als Rückruf übergeben.
Du sendest was hin und bekommst direkt zur bestätigung was zurück.
ChristianW: Danke mein lieber, schreibe seid verdammten 3 Tagen Bewerbungen und merke schon, wie ich verdumme ;D.
das echo muss weg. Aber sonst müsste es gehen.
aber anstatt {'token'} bitte nur token...