Search code examples
phpcurldreamfactory

No session token (JWT) or API Key detected in request Error in PHP


I am using the curl for get the JSON data from DreamFactory url. But I a getting the error.

No session token (JWT) or API Key detected in request. Please send in X-DreamFactory-Session-Token and/or X-Dreamfactory-API-Key request header. You can also use URL query parameters session_token and/or api_key.

My php code

<?php
header("X-DreamFactory-API-Key:TestKey"); 

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://dev.spotya.online:82/api/v2/user/register/");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,"[email protected]&first_name=Ramalingam&last_name=Perumal&display_name=Ramalingam&new_password=123456&phone=1234567890");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec ($ch);
curl_close ($ch);

print_r($server_output);
?>

Please advice!


Solution

  • Use it like this. There is no need to initiate headers at your end, You have to send header which contains your API-Key

    By adding these few lines in your code

    $headers=array(
                "X-DreamFactory-API-Key: TestKey" //your api-key
            );
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);// adding headers with curl-request
    

    Complete PHP code:

    <?php
    $headers=array(
                "X-DreamFactory-API-Key: TestKey" 
            ); 
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,"http://dev.spotya.online:82/api/v2/user/register/");
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS,"[email protected]&first_name=Ramalingam&last_name=Perumal&display_name=Ramalingam&new_password=123456&phone=1234567890");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    $server_output = curl_exec ($ch);
    curl_close ($ch);
    
    print_r($server_output);
    ?>