Skip to content

Instantly share code, notes, and snippets.

@gautamkeshri
Forked from rafaelstz/magento1-rest.php
Created February 21, 2017 17:51
Show Gist options
  • Save gautamkeshri/b53c2491844e5cf70b51515b834b5c15 to your computer and use it in GitHub Desktop.
Save gautamkeshri/b53c2491844e5cf70b51515b834b5c15 to your computer and use it in GitHub Desktop.
Sample PHP to connect API REST at Magento 1
<?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>";
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment