- Ontvangen bedankjes 0
PHP help!!!!
- Gast
-
- Gebruiker
-
Minder
Lees meer
05 mei 2015 14:56 #7596
door Gast
PHP help!!!! werd gestart door Gast
Beste mensen,
Ik ben ná jaren weer eens met de site bezig ennnn...ik ben gewoon een hoop kennis kwijt.
Nu is er een script die ik graag aan de site wil toevoegen/veranderen en dat lukt mij maar niet.
Welke wizzzzkid wil mij helpen.
Het is zoals onderstaand:
Hieronder nog een php sample. Deze kunt u ombouwen naar uw eigen wensen. Ook hier moeten nog uw ClientID en ClientSecret ingevuld worden.
Ik ben ná jaren weer eens met de site bezig ennnn...ik ben gewoon een hoop kennis kwijt.
Nu is er een script die ik graag aan de site wil toevoegen/veranderen en dat lukt mij maar niet.
Welke wizzzzkid wil mij helpen.
Het is zoals onderstaand:
Hieronder nog een php sample. Deze kunt u ombouwen naar uw eigen wensen. Ook hier moeten nog uw ClientID en ClientSecret ingevuld worden.
Code:
<Html>
<head>
<title>Php call vehicle service sample</title>
</head>
<body>
<?php function getTokenFromCache()
{
// TODO Load the token from the cache return null;
}
function saveTokenToCache($token)
{
// TODO Save the token to the cache
}
function getAuthorizationToken($resource, $clientID, $clientSecret)
{
// Construct the body for the STS request
$authenticationRequestBody =
'grant_type=client_credentials&client_secret='.urlencode($clientSecret)
.'&'.'resource='.urlencode($resource).'&'.'client_id='.urlencode($clientID);
//Using curl to post the information to STS and get back the authentication response
$ch = curl_init();
// set url
$stsUrl = 'https://login.windows.net/kooijmans.nl/oauth2/token?'; curl_setopt($ch, CURLOPT_URL, $stsUrl); // Get the response back as a string curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Mark as Post request curl_setopt($ch, CURLOPT_POST, 1); // Set the parameters for the request curl_setopt($ch, CURLOPT_POSTFIELDS, $authenticationRequestBody);
// By default, HTTPS does not work with curl. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
// read the output from the post request
$output = curl_exec($ch);
// close curl resource to free up system resources curl_close($ch);
// decode the response from sts using json decoder
$tokenOutput = json_decode($output);
return $tokenOutput;
}
$licenseplate='31-XG-PX';
$resource = 'https://rollsengine.kooijmans.nl/';
// TODO: Update these values with your credentials
$clientID = 'PLACE_YOUR_CLIENT_ID_HERE';
$clientSecret = 'PLACE_YOUR_CLIENT_SECRET_HERE';
$token = getTokenFromCache();
$dateNowUTC = new DateTime(null, new DateTimeZone('UTC'));
$tokenInfo = ''; if ($token == null or $token->{'expires_on'} < $dateNowUTC->getTimestamp())
{
if ($token == null)
{
$tokenInfo = 'Token not in cache! ';
}
else
{
$tokenInfo = 'Token expired! ';
}
$token = getAuthorizationToken($resource, $clientID, $clientSecret);
saveTokenToCache($token);
}
else
{
$tokenInfo = 'Token from cache used! ';
}
$tokenInfo = $tokenInfo . (' Expires in ' . $token->{'expires_in'} . ' Expires on ' . $token->{'expires_on'} .
' Now: ' . $dateNowUTC->getTimestamp() . ' UTC Offset: ' . $dateNowUTC->getOffSet(). ' ');
$authorizationHeader = ('Authorization: Bearer '. $token->{'token_type'} . ' ' . $token->{'access_token'});
$acceptLanguageHeader = 'Accept-Language: nl-NL';
$acceptHeader = 'Accept: text/xml';
print ('<HR/>'); print '<b>Authorization header:</b><br/>'; print ('<textarea rows="12" cols="100">'); print ($tokenInfo); print ($authorizationHeader); print ('</textarea>');
//XML
print ('<HR/>'); print '<b>XML result:</b><br/>';
$CurlXml = curl_init( 'https://vehicles.kooijmans.nl/api/licenseplates/basic/' . $licenseplate); curl_setopt( $CurlXml, CURLOPT_HTTPHEADER, array($authorizationHeader,$acceptLanguageHeader,
$acceptHeader)); curl_setopt( $CurlXml, CURLOPT_SSL_VERIFYPEER, false); curl_setopt( $CurlXml, CURLOPT_RETURNTRANSFER, 1);
$XmlResult = curl_exec( $CurlXml );
$xml = new SimpleXMLElement($XmlResult);
$xml->registerXPathNamespace('ks', 'http://schemas.kooijmans.nl/vehicledata');
$MakeNames = $xml->xpath('//ks:Make');
print ('<textarea rows="15" cols="100">'); print ($XmlResult); print ('</textarea>');
print '<br/>Inhoud van de node met xpath "//Make":'; print ($MakeNames[0]);
//JSON
print ('<HR/>');
print '<b>JSON result:(default)</b><br/>';
$CurlJson = curl_init( 'https://vehicles.kooijmans.nl/api/licenseplates/basic/' . $licenseplate); curl_setopt( $CurlJson, CURLOPT_HTTPHEADER, array($authorizationHeader,$acceptLanguageHeader)); curl_setopt( $CurlJson, CURLOPT_SSL_VERIFYPEER, false); curl_setopt( $CurlJson, CURLOPT_RETURNTRANSFER, 1);
$jsonResult = curl_exec( $CurlJson );
$json = json_decode($jsonResult);
print ('<textarea rows="10" cols="100">'); print ($jsonResult); print ('</textarea>'); print ('<br/>Inhoud van de json property "Make":'); print ($json->{'Make'});
?>
</body>
</Html>
Discussie gesloten.
- Gast
-
- Gebruiker
-
Minder
Lees meer
- Ontvangen bedankjes 0
05 mei 2015 14:56 #7597
door Gast
Beantwoord door Gast in topic PHP help!!!!
Plaats je code tussen [ code ] tags, dan is het was leesbaarder.
Wat wil je bereiken met het php-script? Als ik het zo lees wil je met CURL data ophalen uit een webservice, alleen is die webservice alleen toegankelijk met een persoonlijke ClientID / ClientSecret code. Heb je die? Zonder die gegevens gaat het in ieder geval niet lukken.
Je hebt hier een complete html pagina gekopiëerd, waar php bij inzit. Dit zou je dus als los bestand op een php server kunnen draaien. Je kan de php ook in een Joomla template verwerken, of je kan met Flexi Custom Code de php in een Joomla module zetten.
Wat wil je bereiken met het php-script? Als ik het zo lees wil je met CURL data ophalen uit een webservice, alleen is die webservice alleen toegankelijk met een persoonlijke ClientID / ClientSecret code. Heb je die? Zonder die gegevens gaat het in ieder geval niet lukken.
Je hebt hier een complete html pagina gekopiëerd, waar php bij inzit. Dit zou je dus als los bestand op een php server kunnen draaien. Je kan de php ook in een Joomla template verwerken, of je kan met Flexi Custom Code de php in een Joomla module zetten.
Discussie gesloten.