2015-09-14 3 views
0

Я пытаюсь подключиться к hubstaff api, кто-нибудь когда-либо пробовал его? Я новичок в php-cURL, как вы конвертируете это в PHP Curl?Hubstaff - получение данных с помощью php cURL

curl -H "App-Token: BMyQnju-4tknuBQMsN0ujr6NWF5ohQaP9de8AWMJXik" -H "Auth-Token: X-vfv2c7jf_0NKoHLbX1t4yftK-TI-jZ4d7roNegw24" "http://api.hubstaff.com/v1/users" 

Он также не показал бы никакого результата от меня сделать это:

// Standard data 
    $data['app_token'] = $this->app_token; 

    // Debugging output 
    $this->debug = array(); 
    $this->debug['HTTP Method'] = $http_method; 

    // Create a cURL handle 
    $ch = curl_init(); 

    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
     'App-Token: ' . $this->app_token, 
     'Content-Type: application/xml' 
    )); 


    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); 

    // Send data 
    if (!empty($data)) { 

     curl_setopt($ch, CURLOPT_POST, true); 
     curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); 

     // Debugging output 
     $this->debug['Posted Data'] = $data; 
    } 

    // Execute cURL request 
    $curl_response = curl_exec($ch); 

    // Save CURL debugging info 
    $this->debug['Last Response'] = $curl_response; 
    $this->debug['Curl Info'] = curl_getinfo($ch); 

    // Close cURL handle 
    curl_close($ch); 

    // Parse response 
    $response =$curl_response;// $this->parseAsciiResponse($curl_response); 

    // Return parsed response 
    return $response; 

Я просто пытаюсь получить мою Auth-Токен

Любая помощь будет принята с благодарностью.

+0

Вы решили эту проблему? У меня такая же проблема. –

+0

@MichalOlszowski Yup, я решил это и разместил ответ ниже. –

ответ

0

@Michal Я решил свою собственную проблему и создал этот простой класс, чтобы помочь кому-либо еще подключиться к hubstaff быстро. не стесняйтесь для любых предложений и оптимизации

class HubstaffApi { 

private $app_token = ''; 
private $auth_token = ''; 

public function __construct($app_token, $auth_token) { 
    $this->app_token = $app_token; 
    $this->auth_token = $auth_token; 
} 

private function sendRequest($api_method, $http_method = 'GET', $data = null) { 
    // Standard data 
    $data['app_token'] = $this->app_token; 
    $request_url = "https://api.hubstaff.com/v1/"; 

    // Debugging output 
    $this->debug = array(); 
    $this->debug['Request URL'] = $request_url . $api_method; 

    // Create a cURL handle 
    $ch = curl_init(); 

    // Set the request 
    curl_setopt($ch, CURLOPT_URL, $request_url . $api_method); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
     'App-Token: ' . $this->app_token, 
     'Auth-Token: ' . $this->auth_token 
    )); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $http_method); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); 

    // Send data 
    if (!empty($data)) { 

     curl_setopt($ch, CURLOPT_POST, true); 
     curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); 

     // Debugging output 
     $this->debug['Posted Data'] = $data; 
    } 

    // Execute cURL request 
    $curl_response = curl_exec($ch); 

    // Save CURL debugging info 
    $this->debug['Last Response'] = $curl_response; 
    $this->debug['Curl Info'] = curl_getinfo($ch); 

    // Close cURL handle 
    curl_close($ch); 

    // Parse response 
    $response = $curl_response; 

    // Return parsed response 
    return $response; 
} 

public function users(array $parameters = array()) { 
    return $this->sendRequest('users', 'GET', $parameters); 
} 

public function activities(array $parameters = array()) { 
    return $this->sendRequest('activities', 'GET', $parameters); 
} 

public function screenshots(array $parameters = array()) { 
    return $this->sendRequest('screenshots', 'GET', $parameters); 
} 

} 

Вы можете просто использовать это следующим образом:

$Hubstaff = new HubstaffApi(
     YOUR_APP_TOKEN, 
YOUR_AUTH_TOKEN); //simply get auth token in developer.hubstaff 's generator, it doesn't expire anyway. 

$response = $Hubstaff->activities([ 
    "start_time" => "2015-09-10T00:00:00+08:00:00", 
    "stop_time" => "2015-09-10T24:00:00+08:00:00", 
    "users" => YOUR_HUBSTAFF_ID 
]); 

    echo $response; 
Смежные вопросы