This is my code.
function generateRandomString()
{
$length = 20;
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $randomString;
}
$method = $_GET['method'];
$url = 'https://rest.netsuite.com/app/site/hosting/restlet.nl?script=XXXX&deploy=1';
$url= 'https://XXXXXXX.restlets.api.netsuite.com/app/site/hosting/restlet.nl?script=XXXX&deploy=1&method='.$method;
$ckey = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; // Consumer key
$csecret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; // Consumer secret
$tkey = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; // Token ID
$tsecret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; // Token secret
$consumer = new OAuthConsumer($ckey,$csecret);
$token = new OAuthToken($tkey,$tsecret);
$sig = new OAuthSignatureMethod_HMAC_SHA1();
$params = array(
'oauth_nonce' => generateRandomString(),
'oauth_timestamp' => idate('U'),
'oauth_version' => '1.0',
'oauth_token' => $tkey,
'oauth_consumer_key' => $ckey,
'oauth_signature_method' => $sig->get_name()
);
$req = new OAuthRequest('GET',$url,$params);
$req->set_parameter('oauth_signature',$req->build_signature($sig,$consumer,$token));
$req->set_parameter('realm','XXXXXXX');
$header = array(
'http' => array(
'method' => "GET",
'header' => $req->to_header().',realm="XXXXXXX"'."\r\n".
"Content-Type: text/plain",
)
);
$context = stream_context_create($header);
$fp = fopen('https://XXXXXXX.restlets.api.netsuite.com/app/site/hosting/restlet.nl?
script=XXXX&deploy=1&method='.$method,'r',false,$context);
$data = fpassthru($fp);
fclose($fp);