これは私のコードです:
$key = "xxx";
$secret = "xxx";
$url = "https://oauth.withings.com/account";
$config = array(
"siteUrl" => $url,
"consumerKey" => $key,
"consumerSecret" => $secret,
"requestMethod" => "GET"
);
$consumer = new Zend_Oauth_Consumer($config);
try {
$token = $consumer->getRequestToken();
} catch (Zend_Oauth_Exception $e){
print $e;
}
これを Mac (OSX 10.8、PHP 5.3.13、Zend 1.11.12) で実行すると、正常に動作します。
しかし、Linux サーバー (Debian 6.0.5、PHP 5.3.3、Zend 1.10.6) で実行すると失敗します。Zend のドキュメントは非常に薄いですが、1.10 と 1.11 の間で同じコードが失敗するようなことが起こったのでしょうか? エラーメッセージは次のとおりです。
「例外 'Zend_Oauth_Exception' とメッセージ 'Could not retrieve a valid Token response from Token URL: '"
このエラーは、URL が送信されていないことを示しているようです。さて、「siteUrl」設定オプションは Zend 1.10 と 1.11 で同じように見えるので、そうではありませんよね?
URL を手動で作成し、Linux ホストで CURL を使用すると、正しい応答が得られるので、ネットワークまたはブロックの問題である可能性はありません。
URL を「/accounts」に変更すると (つまり、誤った URL に変更すると)、このコードを使用する Mac と Linux の両方で HTML 404 コードが返されます。
私はここで途方に暮れています。この問題のトラブルシューティング方法を知っている人はいますか?