我在尝试对 API 进行身份验证时使用 PECL OAuth。
示例代码:
<?php
$requestUri = 'http://openapi.lovefilm.com/oauth/request';
$consumerKey = 'MYCONSUMERKEY';
$consumerSecret = 'MYSECRET';
$oauth = new OAuth($consumerKey, $consumerSecret);
$oauth->setAuthType(OAUTH_AUTH_TYPE_AUTHORIZATION);
$oauth->setVersion('1.0');
$oauth->setTimestamp(mktime());
$oauth->enableDebug();
try
{
$req = $oauth->getRequestToken($requestUri, 'oob');
var_dump($req);
}
catch(OAuthException $e)
{
print '<pre>';
var_dump($e);
var_dump($oauth->debugInfo);
}
?>
他们提供的规范(http://developer.lovefilm.com/-registration req)说我应该发布一个类似于下面的请求:
POST /oauth/request_token HTTP/1.1 主机:openapi.lovefilm.com 授权:OAuth oauth_callback="http%3A%2F%2Fyour-service.com%2Fsuccess", oauth_consumer_key="2blu7svnhwkzw29zg7cwkydn", oauth_nonce="5f38dbc02a97567965f14dsign," “sPSVmqN%2FXu9k0wlZxF0PqPZwYGo%3D”,oauth_signature_method="HMAC-SHA1",oauth_timestamp="1278499295",oauth_version="1.0"
但是,当我使用该方法时:
$oauth->setAuthType(OAUTH_AUTH_TYPE_AUTHORIZATION);
生成的请求始终是 GET。
任何人都可以帮忙吗?
谢谢,
本