-
-
Save rafaelstz/4259811d7dae9f34a80898dd68ab2496 to your computer and use it in GitHub Desktop.
| <?php | |
| // Created by Rafael Corrêa Gomes | |
| // Reference http://devdocs.magento.com/guides/m1x/api/rest/introduction.html#RESTAPIIntroduction-RESTResources | |
| // Custom Resource | |
| $apiResources = "products?limit=2"; | |
| // Custom Values | |
| $isAdminUser = true; | |
| $adminUrl = "admin"; | |
| $callbackUrl = "http://dev.local3.com/rest.php"; | |
| $host = 'http://dev.local3.com/magento/'; | |
| $consumerKey = '7e1339ba397c917f00066fca13543934'; | |
| $consumerSecret = '6a3bc1999d9399c655f0b28edbdb8610'; | |
| // Don't change | |
| $temporaryCredentialsRequestUrl = $host . "oauth/initiate?oauth_callback=" . urlencode($callbackUrl); | |
| $adminAuthorizationUrl = ($isAdminUser) ? $host . $adminUrl . "/oauth_authorize" : $host . "oauth/authorize"; | |
| $accessTokenRequestUrl = $host . "oauth/token"; | |
| $apiUrl = $host . "api/rest/"; | |
| 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(); | |
| if (!isset($_GET['oauth_token']) && !$_SESSION['state']) { | |
| $requestToken = $oauthClient->getRequestToken($temporaryCredentialsRequestUrl); | |
| $_SESSION['secret'] = $requestToken['oauth_token_secret']; | |
| $_SESSION['state'] = 1; | |
| header('Location: ' . $adminAuthorizationUrl . '?oauth_token=' . $requestToken['oauth_token']); | |
| exit; | |
| } else if ($_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; | |
| } else { | |
| $oauthClient->setToken($_SESSION['token'], $_SESSION['secret']); | |
| $resourceUrl = $apiUrl.$apiResources; | |
| $oauthClient->fetch($resourceUrl, array(), 'GET', array('Content-Type' => 'application/json', 'Accept' => '*/*')); | |
| // $productsList = json_decode($oauthClient->getLastResponse()); | |
| $productsList = $oauthClient->getLastResponse(); | |
| // echo "<pre>"; | |
| print_r($productsList); | |
| // echo "</pre>"; | |
| } | |
| } catch (OAuthException $e) { | |
| echo "<pre>"; | |
| print_r($e->getMessage()); | |
| echo "<br/>"; | |
| print_r($e->lastResponse); | |
| echo "</pre>"; | |
| } |
Hii
I have to use magento 1 rest api to the third party
I have used above code but getting this error.
Notice: Use of undefined constant OAUTH_AUTH_TYPE_URI - assumed 'OAUTH_AUTH_TYPE_URI' in D:\xampp\htdocs\apicheck\index.php on line 15
Fatal error: Class 'OAuth' not found in D:\xampp\htdocs\apicheck\index.php on line 16
can you please help me.
@Noor-mohamad
You need this file php_oauth.dll (windows)
Put into
/bin/php[version]/ext
And you need to change php.ini to load oauth (Dynamic Extensions)
extension=php_oauth.dll
i followed your tutorial but i got the page is not working error please tell how to solved it
Hello @rafael,
I have followed the same steps but I am getting this error :- https://prnt.sc/oyj32j
Will be able to help me to fix this issue?
I'll be looking forward to your response.
Thanks
I think the issue is related with the route mage1 included in the request.
HI please help it gives me an error :
the url is : http://codedev.co.za/sandile/test.php