Zrobiłem API REST PHP przy użyciu CodeIgniter z podstawowym uwierzytelnieniem, (podając "identyfikator firmy" i "klucz API" jako nazwę użytkownika/hasło). Później okazało się, że konieczne było dostarczenie kluczy sesji, które były bezpośrednio związane z kluczem API, tylko z czasem wygaśnięcia.
Zasadniczo, przeszukaliśmy różne rodzaje danych w naszym magazynie danych (odmiany nosql :) w zależności od tego, co "metoda" została podana w adresie URL. Uzyskaliśmy do tego dostęp za pomocą zdolności "segmentu" zapewnianej przez CodeIgniter.
Następnie zawijaliśmy każdą odpowiedź za pomocą "json_encode", który został zwrócony, a także dla bezpieczeństwa używaliśmy połączenia HTTPS.
Dla klasy klienta zawijaliśmy wszystko w wywołaniach takich jak $ client-> get_my_data ($ api_key), z warstwą pod spodem za pomocą PHP Libcurl, która działa bardzo dobrze, aby zapewnić podstawowe uwierzytelnianie.
Nadzieja to pomaga,
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;
}
}
Wow frapi wygląda całkiem nieźle, chociaż ich strona jest znacznie bardziej spartańska niż wygląda, gdy zaczniesz klikać. – Justin