2012-12-11 9 views
7

では見られない、私はLinkedInのAPIに接続しようとしているが、毎回、私はそれにアクセスしようと、私は次のエラーを取得する:致命的なエラー:クラス「のOAuth」

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

私は自由なサーバーを使用しています000WebHostで、私は無料のサーバーがOAuthをサポートしていないことがあることを読んだことがあります。私は別のフリーサーバで試してみましたが、同じエラーメッセージが表示されるので、私の質問はどのようにサーバがOAuthの使用をサポートしているかどうかを確認できますか?

// 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(); 

キーがちょうど入門ガイドLikedIn開発上のものに交換されています

は、ここに私のコードです。

ご協力いただきありがとうございます。

答えて

8

OAuthはPECL拡張であり、PHPにコンパイルするか、拡張としてコンパイルする必要があります。それは本当に誰もがそう使用するものではありませんので、

ほとんどのサーバーは、デフォルトではそれを持っています。あなたのホストにインストールを依頼するか、CGIを使用している場合にサーバー上でコンパイルできるかどうかを尋ねることができます。 phpinfo()を実行すると、あなたがそれを持っていればそれが表示されますOAuthの単語を探してください、そうでなければあなたはしません。


更新:代わりに、PECLの使用https://github.com/Lusitanian/PHPoAuthLib

0

hereを参照してください。拡張されたものではなく、OAuth phpクラスを通してlinkedin apiを使用する方法の例があります。

+0

私は、PECL拡張を使用することが最良の方法ですが、共有ホスティングでは問題であることに同意します。だからあなたのために適切なソリューションを選択してください。 –

1

ホスティングにhostgatorを使用していて、この問題が発生していたので、ホストもcpanelを使用している場合は、私がしたことを実行できるはずです。

「public_html、www、tmp」が表示されるファイルマネージャのライブディレクトリから1つ上のディレクトリに移動します。 (または、左のホームフォルダのアイコンをクリックしてください)、そこにphp.iniファイルがあります。最後にextension=oauth.soを追加してファイルを編集して保存します。

その後、phpinfo()をチェックすると、「OAuth」というセクションが見つかり、すべて正常に動作するはずです。

+0

最後に追加することが重要です。これが私の問題でした。 – Goose