Delete request

Status
Niet open voor verdere reacties.

janusvl

Gebruiker
Lid geworden
11 apr 2009
Berichten
159
IK ben bezig met een kayako helpdesk en probeer het te intergreren in een bestaand systeem. Tot nu toe werkte alles na wat opstart probleemen. Alleen de delete werkt nog altijd niet. De code die ik probeer te gebruiken:

PHP:
function Putrequest($url,$postdata){
$opts = array('http' =>
array(
'method' => "DELETE",
'content' => $postdata
)
);

$context = stream_context_create($opts);
$result = file_get_contents($url, false, $context);

return $result;
}

Maar helaas krijg ik steeds terug:
Warning: file_get_contents(https://*.es/support/api/index.php?e=/Tickets/Ticket/11) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthorized in /home/*/public_html/support/testapi/delete.php on line 12

heefd iemand een idee hoe ik dit probleem kan oplossen? Google was tot nu toe niet echt behulpzaam maar ik ga toch nog even verder zoeken.


Janus
 
weet je zeker dat het path naat de files goed is,
en staan de rechten van het bestand/map wel goed!
 
Het is een prebuild system dus ik vermoed dat zij er ook voor hebben gezorgd dat alle rechten goed staan. En als ik get post of put requests uitvoer werkt alles ook prima dus waarom zou het dan nu niet werken? Als er iets mis was met de rechten zou het daar ook niet moeten werken vermoed ik. Dus ik vermoed dat het daar niks mee te maken heeft
 
Ik heb het probleem opgelost met de hulp van een ander forum. Ik heb nu de volgende code die werkt

PHP:
<?php

   $apiKey = "*knip*";

   $secretKey = "*knip*";
   $salt = mt_rand();

   $signature = hash_hmac('sha256', $salt, $secretKey, true);

   $encodedSignature = base64_encode($signature);
	$encodedSignaturePOST = base64_encode($signature);
   $encodedSignature = urlencode($encodedSignature);
   
	function Deleterequest($url,$postdata){
		$opts = array('http' =>
    array(
        'method' => "DELETE"
    )
	);

		$context  = stream_context_create($opts);
		$result = file_get_contents($url, false, $context);
		return $result;
	}
	
		$link = "https://*.es/support/api/index.php?e=/Tickets/Ticket/".$_GET['id']."&apikey=".$apiKey."&salt=".$salt."&signature=".$encodedSignaturePOST;
		//echo $link;
		$data = array('apikey' => $apiKey,'salt' => $salt,'signature' => $encodedSignaturePOST);
		$data = http_build_query($data);
		//echo $data;
		echo Deleterequest($link,$data);
?>

de truc was om de salt apikey en signature mee te sturen in de url
Bedankt voor jullie tijd

Janus
 
Laatst bewerkt door een moderator:
Beste Janus,

Uit voorzorg heb ik de apiKey en secretKey weggehaald.

Met vriendelijke groet,
Stefan (Tha Devil)
Moderator Helpmij.nl
 
ooh ik had ze laten staan. Ik had de link al weg gehaald. En het zijn random gegenereerde strings dus voor ik van testen naar het echte systeem ga krijg ik weer nieuwe. Dus ze zijn niet zo belangrijk je kunt er niks mee


Maar toch bedankt

Janus
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan