Categories
android magento oauth php rest

“http://{root_dir}/oauth/token” File Not Found in Magento to register REST API application

I have Written code in ZEND For Accessing Magento REST API for accessing data.

<?php
require_once 'Zend/Oauth/Consumer.php';
class AuthController extends Zend_Controller_Action
{
public function init()
{
$this->hostname="http://localhost/magento";
$consumerKey = 'mkkzxuu1bkveejyzjam5hl2pzaxxepwv';
$consumerSecret="bcmczrp3ofn9vmviqu3j8o1ioa7fisl6";
$callbackUrl="http://localhost/magento/oauth/token";
$this->config = array(
'callbackUrl' => $callbackUrl,
'requestTokenUrl' => $this->hostname . '/oauth/initiate',
'siteUrl' => $this->hostname . '/oauth',
'consumerKey' => $consumerKey,
'consumerSecret' => $consumerSecret,
'authorizeUrl' => $this->hostname . '/admin/oauth_authorize',
// 'authorizeUrl' => $this->hostname . '/oauth/authorize',
'accessTokenUrl' => $this->hostname . '/oauth/token'
);
}
public function indexAction()
{
$accesssession = new Zend_Session_Namespace('AccessToken');
if (isset($accesssession->accessToken)) {
$token = unserialize($accesssession->accessToken);
// $client = $token->getHttpClient($this->config);
$client = new Zend_Http_Client();
$adapter = new Zend_Http_Client_Adapter_Curl();
$client->setAdapter($adapter);
$adapter->setConfig(array(
'adapter' => 'Zend_Http_Client_Adapter_Curl',
'curloptions' => array(CURLOPT_FOLLOWLOCATION => true),
));
$client->setUri($this->hostname . '/api/rest/products');
$client->setParameterGet('oauth_token', $token->getToken());
echo $token->getToken();
echo $token->getTokenSecret();
$client->setParameterGet('oauth_token_secret', $token->getTokenSecret());
$response = $client->request('GET');
$products = Zend_Json::decode($response->getBody());
} else {
$consumer = new Zend_Oauth_Consumer($this->config);
$token = $consumer->getRequestToken();
$requestsession = new Zend_Session_Namespace('RequestToken');
$requestsession->requestToken = serialize($token);
$consumer->redirect();
}
$this->view->products = $products;
}
public function callbackAction()
{
$requestsession = new Zend_Session_Namespace('RequestToken');
if (!empty($_GET) && isset($requestsession->requestToken)) {
$accesssession = new Zend_Session_Namespace('AccessToken');
$consumer = new Zend_Oauth_Consumer($this->config);
$token = $consumer->getAccessToken(
$_GET,
unserialize($requestsession->requestToken)
);
$accesssession->accessToken = serialize($token);
// Now that we have an Access Token, we can discard the Request Token
// unset($requestsession->requestToken);
// $this->_redirect();
$this->_forward('index', 'index', 'default');
} else {
// Mistaken request? Some malfeasant trying something?
// throw new Exception('Invalid callback request. Oops. Sorry.');
}
}
public function callbackrejectedAction()
{
// rejected
}
}

I have try this url many time

http://localhost/magento/oauth/token?oauth_token=medensg02pvrd1rdfjcay4bwkr76whkk&oauth_verifier=qxvbth1rfe4vv78n7r6mprtxvuq2yqhb

but not getting anything rather than File not found error.

You can see this url exist at magento official resource.
http://www.magentocommerce.com/api/rest/authentication/oauth_authentication.html

After Calling this controller belows request generate for authorize after accepting this.

Throws belows error file not founds.