我正在创建一个使用 CakePHP 框架和 PHP OAuth 模块的项目。
我在供应商插件上使用模块的原因是因为 API 需要将数据/自定义标头发送给它们,否则它们会生成 500 个,我知道标准 PHP 模块可以很好地做到这一点。
问题是当我使用 OAuth->fetch(" http://www.example.com " ...) 时,CakePHP 将外部 fetch 请求重定向到我的本地主机(我正在开发),因此导致没有正在生成的数据。
看起来我可以获取外部数据的唯一方法是使用 CakePHP 的 HTTPSocket 类,但这不允许我发送我需要发送给 OAuth 提供程序的数据。
有谁知道如何关闭此路由,或者我是否应该做一些不同的事情?
更新:当前代码如下:
public function createClient() {
$client = new OAuth(
'key',
'secret'
);
$client->disableSSLChecks();
if ($accessToken = $this->getAccessToken() !== false) {
$client->setToken(
$accessToken[$this->accessTokenKeyKeyname],
$accessToken[$this->accessTokenSecretKeyname]
);
}
return $client;
}
$url = 'http://example.com';
$client = $this->createClient();
$client->fetch($url, null, OAUTH_HTTP_METHOD_GET);
请求/访问令牌已成功生成,但获取继续重定向到 localhost,而不是 example.com(example.com 用作示例 URL)。