这是我的代码:
$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' 带有消息'无法从令牌 URL 检索有效的令牌响应:'”
该错误似乎表明没有发送任何 URL。现在,Zend 1.10 和 1.11 的“siteUrl”配置选项似乎相同,所以不可能是这样,对吧?
在我的 Linux 主机上手动构建 URL 并使用 CURL 时,我得到了正确的响应,因此它不会是网络或阻塞问题。
当将 URL 更改为“/accounts”时(即使其成为不正确的 URL),它使用此代码为 Mac 和 Linux 返回 HTML 404 代码。
我在这里不知所措。有谁知道如何解决这个问题?