We are in the process of migrating this forum. A new space will be available soon. We are sorry for the inconvenience.

Probleme mit API


tomwinter
22.07.15, 23:40
Vielen Dank für deine Antwort LukasK, es klappt!

Hätte ich nie gefunden glaube ich... Manchmal ist ein 2. paar Augen garnicht verkehrt..

Vielen Dank für die schnelle Hilfe

Ich wünsche dir und dem Forum noch einen schönen Abend.

LG
Tom

LukasK
22.07.15, 18:31
musst du curl nicht via curlopt selber sagen das es einen Delete request senden soll?
PHP-Code:
curl_setopt($chCURLOPT_CUSTOMREQUEST"DELETE"); 

tomwinter
22.07.15, 15:27
Guten Tag zusammen,

ich versuche mit php auf die ovh api zuzugreifen. Das ganze funktioniert auch ohne Probleme bei den GET methoden. Wenn ich allerdings eine der DELETE funktionen nutzen möchte, bekomme ich folgenden Fehler:

[errorCode] => INVALID_SIGNATURE [httpCode] => 400 Bad Request [message] => Invalid signature

Das ganze läuft auf einem OVH Pro Hosting Paket. Ich versuche es schon seit Stunden, aber ich bekomme es nicht auf die Reihe. Hat jemand von euch eine Idee?

Hier ist mein Script was die Abfrage macht:
PHP-Code:
function ovhApiDeleteEmailAccount $accountName ) {
    
    
$url "https://eu.api.ovh.com/1.0/email/domain/----DOMAIN----/account/" $accountName;
    
$method "DELETE";
    
$body "";
    
    
$ovhTime ovhApiGetTime();
    
    
$toSign =  OVH_APP_SECRET '+' OVH_USER_KEY '+' $method '+' $url '+' $body '+' $ovhTime;
 
    
$hash '$1$' sha1$toSign );

    
$curl curl_init();

    
$headers = array();
    
    
$headers[] = 'X-Ovh-Application:' OVH_APP_KEY;
    
$headers[] = 'X-Ovh-Timestamp:' $ovhTime;
    
$headers[] = 'X-Ovh-Signature:' $hash;
    
$headers[] = 'X-Ovh-Consumer:' OVH_USER_KEY;

    
curl_setopt_array($curl, array(
        
CURLOPT_RETURNTRANSFER => 1,
        
CURLOPT_URL => $url,
        
CURLOPT_HTTPHEADER => $headers
    
));
    
    
$result curl_exec$curl );
    
    
$result json_decode$resulttrue );
    
    
curl_close$curl );
    
    return 
$result;
    


Wie gesasgt, mit GET Methoden funktioniert es. Ich bin langsam am verzweifeln.

Vielen Dank!

LG
Tom