2013-01-04 151 views
2

我已將高級休息客戶端安裝到我的Chrome中。從我的magento,我可以從管理面板獲得消費者密鑰和密鑰。我試圖得到該鏈接http://term.ie/oauth/example/client.php令牌,但以下列方式返回。這裏沒有令牌密鑰..在Magento中如何獲取AccessToken和訪問祕密令牌

request url: ://192.168.1.101:8000/magento/admin/oauth/token ?oauth_version=1.0&oauth_nonce=XXXXXXXXX&oauth_timestamp=XXXXXXX&oauth_consumer_key=xxxxxxxxx&oauth_signature_method=HMAC-SHA1&oauth_signature=xxxxxxxxx%3D 
OAuthRequest Object 
(
    [parameters:OAuthRequest:private] => Array 
     (
      [oauth_version] => 1.0 
      [oauth_nonce] => XXXXXXXXXX 
      [oauth_timestamp] => XXXXXXX 
      [oauth_consumer_key] => XXXXXXXXXXXXXXXXXXXXXXXXXXX 
      [oauth_signature_method] => HMAC-SHA1 
      [oauth_signature] => XXXXXXXXXXXXXXXXXXXX= 
     ) 

    [http_method:OAuthRequest:private] => GET 
    [http_url:OAuthRequest:private] => 192.168.1.101:8010/magento/admin/oauth/token 
    [base_string] => GET&%3A%2F%2F192.168.1.101%2Fmagento%2Fadmin%2Foauth%2Ftoken%20&oauth_consumer_key%XXXXXXXXXXXXXXXXXXXXXXX%26oauth_nonce%XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX%26oauth_signature_method%XXXXXXXXXX%26oauth_timestamp%XXXXXXXXX%26oauth_version%3D1.0 
) 

所以建議我我如何才能訪問令牌和訪問令牌的祕密......根據我,你已經創建了REST & OAUTH消費者所以我skiping它管理角色。

+1

我認爲你已經完成了任務作爲指導,...請發佈答案,這將是幫助.. – chanz

回答

2

在root下創建test.php文件。用您的值替換CONSUMERKEY和CONSUMERSECRET。

<?php 
/** 

* Example of update product record via Magento REST API. OAuth authorization is used 

*/ 

$callbackUrl = "http://yourhost/test.php"; 
$temporaryCredentialsRequestUrl = "http://yourhost/oauth/initiate?oauth_callback=" . urlencode($callbackUrl); 
$adminAuthorizationUrl = 'http://yourhost/admin/oauth_authorize'; 
$accessTokenRequestUrl = 'http://yourhost/oauth/token'; 
$apiUrl = 'http://yourhost/api/rest'; 
$consumerKey = '[your consumer key here]'; 
$consumerSecret = '[your consumer Secret here]'; 



echo "<pre/>"; 

session_start(); 

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

$_SESSION['state'] = 0; 

} 

try { 

$authType = ($_SESSION['state'] == 2) ? OAUTH_AUTH_TYPE_AUTHORIZATION : OAUTH_AUTH_TYPE_URI; 

$oauthClient = new OAuth($consumerKey, $consumerSecret, OAUTH_SIG_METHOD_HMACSHA1, $authType); 

$oauthClient->enableDebug(); 

$oauthClient->disableSSLChecks(); 



if (!isset($_GET['oauth_token']) && !$_SESSION['state']) { 

$requestToken = $oauthClient->getRequestToken($temporaryCredentialsRequestUrl); 
echo "<pre>";print_r($requestToken);die(); 
$_SESSION['secret'] = $requestToken['oauth_token_secret']; 

$_SESSION['state'] = 1; 

header("Location: " . $adminAuthorizationUrl . "?oauth_token=" . $requestToken['oauth_token']); 

exit; 

} 

?>

及以上的輸出應該是陣列

Array 
(
    [oauth_token] => "tokenkey" 
    [oauth_token_secret] => "token secret" 
    [oauth_callback_confirmed] => true 
) 

希望這有助於你。

相關問題