· 9 years ago · Sep 06, 2016, 03:44 PM
1<?php
2/**
3 * Example of products list retrieve using Customer account via Magento REST API. OAuth authorization is used
4 */
5$callbackUrl = "http://yourhost/oauth_customer.php";
6$temporaryCredentialsRequestUrl = "http://magentohost/oauth/initiate?oauth_callback=" . urlencode($callbackUrl);
7$adminAuthorizationUrl = 'http://magentohost/oauth/authorize';
8$accessTokenRequestUrl = 'http://magentohost/oauth/token';
9$apiUrl = 'http://magentohost/api/rest';
10$consumerKey = 'yourconsumerkey';
11$consumerSecret = 'yourconsumersecret';
12
13session_start();
14if (!isset($_GET['oauth_token']) && isset($_SESSION['state']) && $_SESSION['state'] == 1) {
15 $_SESSION['state'] = 0;
16}
17try {
18 $authType = ($_SESSION['state'] == 2) ? OAUTH_AUTH_TYPE_AUTHORIZATION : OAUTH_AUTH_TYPE_URI;
19 $oauthClient = new OAuth($consumerKey, $consumerSecret, OAUTH_SIG_METHOD_HMACSHA1, $authType);
20 $oauthClient->enableDebug();
21
22 if (!isset($_GET['oauth_token']) && !$_SESSION['state']) {
23 $requestToken = $oauthClient->getRequestToken($temporaryCredentialsRequestUrl);
24 $_SESSION['secret'] = $requestToken['oauth_token_secret'];
25 $_SESSION['state'] = 1;
26 header('Location: ' . $adminAuthorizationUrl . '?oauth_token=' . $requestToken['oauth_token']);
27 exit;
28 } else if ($_SESSION['state'] == 1) {
29 $oauthClient->setToken($_GET['oauth_token'], $_SESSION['secret']);
30 $accessToken = $oauthClient->getAccessToken($accessTokenRequestUrl);
31 $_SESSION['state'] = 2;
32 $_SESSION['token'] = $accessToken['oauth_token'];
33 $_SESSION['secret'] = $accessToken['oauth_token_secret'];
34 header('Location: ' . $callbackUrl);
35 exit;
36 } else {
37 $oauthClient->setToken($_SESSION['token'], $_SESSION['secret']);
38 $resourceUrl = "$apiUrl/products";
39 $oauthClient->fetch($resourceUrl);
40 $productsList = json_decode($oauthClient->getLastResponse());
41 print_r($productsList);
42 }
43} catch (OAuthException $e) {
44 print_r($e);
45}