2013-08-21 49 views
0

我有消费者密钥和秘密。我尝试使用消费密钥和密码,但我不好我得到的错误是获得的OAuth请求令牌如何获得oauth访问令牌和使用php的magento的秘密

未捕获的异常“OAuthException”有消息“无效的授权/坏 请求(有一个404,预计HTTP/1.1 20X或重定向)”

我试过下面的代码来获取请求令牌,但没有奏效

$callbackUrl = "http://www.myhost.com/oauth_admin.php"; 
$temporaryCredentialsRequestUrl = "http://www.myhost.com/oauth/initiate?oauth_callback=" . urlencode($callbackUrl); 
$adminAuthorizationUrl = 'http://www.myhost.com/admin/oauth_authorize'; 
$accessTokenRequestUrl = 'http://www.myhost.com/oauth/token'; 
$apiUrl = 'http://www.myhost.com/api/rest'; 
$consumerKey = 'my consumerKey'; 
$consumerSecret = 'my consumerSecret'; 

session_start(); 

if (!isset($_GET['oauth_token']) && isset($_SESSION['state']) && $_SESSION['state'] == 1) { 
    $_SESSION['state'] = 0; 
} 

$authType = ($_SESSION['state'] == 2) ? OAUTH_AUTH_TYPE_AUTHORIZATION : OAUTH_AUTH_TYPE_URI; 
$oauthClient = new OAuth($consumerKey, $consumerSecret, OAUTH_SIG_METHOD_HMACSHA1, $authType); 
$oauthClient->enableDebug(); 

if (!isset($_GET['oauth_token']) && !isset($_SESSION['state'])) { 
    $requestToken = $oauthClient->getRequestToken($temporaryCredentialsRequestUrl); 
    echo $_SESSION['secret'] = $requestToken['oauth_token_secret']; 
    $_SESSION['state'] = 1; 
    header('Location: ' . $adminAuthorizationUrl . '?oauth_token=' . $requestToken['oauth_token']); 
    exit; 
} else if (isset($_SESSION['state']) && $_SESSION['state'] == 1) { 
    $oauthClient->setToken($_GET['oauth_token'], $_SESSION['secret']); 
    $accessToken = $oauthClient->getAccessToken($accessTokenRequestUrl); 
    $_SESSION['state'] = 2; 
    $_SESSION['token'] = $accessToken['oauth_token']; 
    $_SESSION['secret'] = $accessToken['oauth_token_secret']; 
    header('Location: ' . $callbackUrl); 
    exit; 
} 
print_r($_SESSION);//get this by next page 

任何帮助将是巨大的!

+0

您正在获取404,这意味着您所调用的服务器在您所使用的URL上找不到资源/脚本。 –

回答

0

我解决了通过更改服务器配置以承担.htaccess规则。尝试检查出来。

+0

你应该提供更多关于你如何做的细节 – SheetJS

相关问题