2012-12-11 16 views
7

sto cercando di connettersi alle API LinkedIn, ma ogni volta che cerco di accedervi ottengo il seguente errore:Fatal error: Class 'OAuth' non trovato in

Fatal error: Class 'OAuth' not found in /home/vhosts/*/test.php on line 8

sto usando un server gratuito su 000WebHost e ho letto che i server gratuiti a volte non supportano OAuth. L'ho provato su un altro server gratuito e ottengo lo stesso messaggio di errore, quindi la mia domanda è: come posso verificare se il server supporta l'uso di OAuth?

Ecco il mio codice:

// Fill the keys and secrets you retrieved after registering your app 
$oauth = new OAuth("abcd123456", "efgh987654"); 
$oauth->setToken("abcd1234-efgh987-9988", "9876abcd-123asdf-1122"); 

$params = array(); 
$headers = array(); 
$method = OAUTH_HTTP_METHOD_GET; 

// Specify LinkedIn API endpoint to retrieve your own profile 
$url = "http://api.linkedin.com/v1/people/~"; 

// By default, the LinkedIn API responses are in XML format. If you prefer JSON, simply  specify the format in your call 
// $url = "http://api.linkedin.com/v1/people/~?format=json"; 

// Make call to LinkedIn to retrieve your own profile 
$oauth->fetch($url, $params, $method, $headers); 

echo $oauth->getLastResponse(); 

I tasti sono solo sostituiti con quelli sul LikedIn sviluppatori Guida introduttiva.

Grazie in anticipo per il vostro aiuto.

risposta

8

OAuth è un'estensione PECL che deve essere compilata in PHP o compilata come estensione.

maggior parte dei server non avrà di default dal momento che non è in realtà qualcosa che tutti sarebbe probabilmente usare. Puoi chiedere al tuo host di installarlo o se hai la possibilità di compilarlo sul server se usi CGI come ho fatto io. Se esegui phpinfo(); e cerca la parola OAuth che verrà mostrata se ce l'hai, altrimenti non lo farai.


Aggiornamento: Uso https://github.com/Lusitanian/PHPoAuthLib invece di un PECL.

0

Prova a cercare here. C'è un esempio di come usare il linkedin api attraverso la classe php OAuth non un'estensione.

+0

Sono d'accordo che usare l'estensione PECL è il modo migliore, ma nell'hosting condiviso è un problema. Quindi scegli la soluzione appropriata per te. –

1

Io uso hostgator per l'hosting e stavo avendo questo problema quindi se il tuo host usa anche cpanel dovresti essere in grado di fare quello che ho fatto.

Vai alla directory 1 dalla directory live in File Manager dove puoi vedere "public_html, www, tmp". (Oppure fai clic sull'icona della cartella Home sulla sinistra) e lì troverai un file php.ini. modifica il file aggiungendo extension=oauth.so fino alla fine e salvalo.

Controllare phpinfo() dopo che si dovrebbe trovare una sezione denominata "OAuth" e tutto dovrebbe funzionare correttamente.

+0

Importante che lo si aggiunga alla fine, che era il mio problema. – Goose

Problemi correlati