ho fatto un API REST PHP utilizzando CodeIgniter con l'autenticazione di base, (fornendo "società id" e "Chiave API" come username/password). Successivamente abbiamo scoperto che era necessario fornire chiavi di sessione direttamente correlate a una chiave API, solo con una scadenza.
In sostanza, abbiamo chiesto diversi tipi di dati nel nostro archivio dati (varietà NoSQL :) seconda di ciò che è stato fornito il "metodo" nell'URL. Ci siamo acceduti utilizzando l'abilità "segment" fornita da CodeIgniter.
Poi abbiamo avvolto ogni risposta con un "json_encode" che è stato restituito e abbiamo usato anche una connessione HTTPS per una maggiore sicurezza.
Per la classe client abbiamo avvolto tutto nelle chiamate $ client-> get_my_data ($ api_key), con un livello sotto usando Libcurl PHP, che funziona molto bene per fornire l'autenticazione di base.
Spero che questo aiuti,
CURL_GET
private function curl_get($url, $apikey, $co)
{
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, $url);
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl_handle, CURLOPT_USERPWD, $co.":".$apikey);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_DNS_USE_GLOBAL_CACHE, FALSE);
$buffer = curl_exec($curl_handle);
$error = curl_error($curl_handle);
curl_close($curl_handle);
// check for success or failure
if (empty($buffer)) {
//echo 'Something went wrong :(error: '.$error.'<Br>';
} else {
return $buffer;
}
}
fonte
2011-02-18 16:11:42
Wow Frapi sembra piuttosto dolce, anche se il loro sito è molto più spartano di quanto sembri volta che si avvia cliccando in giro. – Justin