magento - 在Magento中如何获取AccessToken和Access Secret Token

标签 magento magento-1.7 magento-1.4

我已将 Advanced Rest Client 安装到我的 chrome 上。从我的 magento 中,我可以从管理面板获取消费者 key 和 secret key 。我尝试从链接 http://term.ie/oauth/example/client.php 获取 token 但它以以下方式返回..这里没有 token key ..

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
)

所以建议我如何获取访问 token 和访问 secret token ......

最佳答案

据我所知,您已经为 REST 和 OAUTH Consumers 创建了管理员角色,因此我将跳过它。

在根目录中创建以下 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
)

希望这对您有帮助。

关于magento - 在Magento中如何获取AccessToken和Access Secret Token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14153181/

相关文章:

php - 从 Magento 的管理面板导航中删除项目

magento - 选择不同的可配置产品时更改显示的图像(例如不同的颜色)

php - 如何通过 SOAP API 在 magento 中获取自定义属性的值

注销后 Magento 重定向

php - 错误处理请求 : Error in file: - SQLSTATE[42S01]: Base table or view already exists:

Magento 不向未登录的用户显示产品

php - Magento - 如何在结帐过程中向订单添加发票费用

php - Magento:所有页面都会永远加载

magento - 在什么情况下 Magento 订单增量 ID 可以有重复?

magento - 从管理中删除 Magento Logo 和商标是否合法