<?php require_once '../../csrest_general.php'; $auth = array('access_token' => 'your access token', 'refresh_token' => 'your refresh token'); $wrap = new CS_REST_General($auth); $result = $wrap->get_clients(); if (!$result->was_successful()) { # If you receive '121: Expired OAuth Token', refresh the access token if ($result->response->Code == 121) { list($new_access_token, $new_expires_in, $new_refresh_token) = $wrap->refresh_token(); # Save $new_access_token, $new_expires_in, and $new_refresh_token } # Make the call again $result = $wrap->get_clients(); } var_dump($result->response);
public function refreshToken() { // Check if auth type is OAuth if ($this->isOAuth()) { // Get the credentials $accessToken = Mage::getModel('campaignmonitor/auth')->getAccessToken(); $refreshToken = Mage::getModel('campaignmonitor/auth')->getRefreshToken(); $auth = array('access_token' => $accessToken, 'refresh_token' => $refreshToken); // Use the REST lib to refresh the token $wrap = new CS_REST_General($auth); list($new_access_token, $new_expires_in, $new_refresh_token) = $wrap->refresh_token(); // Use stdClass as it's the same type as OG response $response = new stdClass(); $response->access_token = $new_access_token; $response->expires_in = $new_expires_in; $response->refresh_token = $new_refresh_token; $session = Mage::getModel('core/session'); $session->setData(self::CAMPAIGNMONITOR_SESSION_DATA_KEY, $response); // Save $new_access_token, $new_expires_in, and $new_refresh_token Mage::getConfig()->saveConfig(self::CAMPAIGNMONITOR_CONFIG_DATA_KEY, serialize($response), 'default', 0); } }