2016-04-19 2 views
-1

zu bekommen, wie das LENDDO Punktzahl von REST-API in PHP
My client id = LEDEMO1070168781157742500
Für oben bekommen CLIENT_ID meine Lenddo Score 480 ist, die Anzeige auf dem Lenddo Armaturenbrett ist aber nicht über die API.
Nicht meine API und geheimen Schlüssel teilen.
Im Grunde brauche ich die Hilfe zum Generieren von AUTHORIZATION HEADER, die ich in der signRequest() Funktion ausführe.
Die Referenz = https://www.lenddo.com/documentation/rest_api.htmlWie die LENDDO Punktzahl von REST-API in PHP

/* 
<?php 
$method = "GET"; 
$date = date("D M j G:i:s T Y"); 
$url = '/ClientScore/LEDEMO1070168781157742500'; 

function signRequest($method, $body, $date, $url) { 
$api = '';  //my api key 
$secret = ''; // my secret key 
$contentMd5 = NULL; 
if(!empty($body)) { 
    $contentMd5 = md5($body); 
} 
$stringToSign = $method . "\n" . $contentMd5 . "\n" . $date . "\n" . $url; 
$string = "LENDDO " . $api . ":"; 



$string .= base64_encode(
    hash_hmac("sha1", $stringToSign, $secret, TRUE) 
); 
return $string; 
} 
$val = signRequest('GET', '', $date, $url); // get the access token 



$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,"https://scoreservice.lenddo.com/ClientScore/LEDEMO1070168781157742500"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
curl_setopt($ch, CURLOPT_HEADER, FALSE); 
curl_setopt($ch, CURLOPT_POST, TRUE); 

$headers = array('Authorization: Bearer ' . $val); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 

$response = curl_exec($ch); 
curl_close($ch); 

var_dump($response); 
// the above source code gives me the output => string(141) "{"message": "Signature generated from request data does not match the signature provided in the Authorization Header.", "name": "FORBIDDEN"} " 
// i pass my api and secret key into the code above but got this error, help me to find Lenddo Score. 
?> 

Antwort

1

Ich bin der leitende Entwickler hier bei Lenddo. Es scheint, dass Sie den schwierigen Weg zur Integration gehen. Zum Glück für PHP (5.3+) bieten wir ein SDK, das die Integration ziemlich schmerzlos machen sollte.

Sie können das PHP SDK hier finden: https://github.com/Lenddo/php-lenddo. Auf dieser Seite befindet sich die README, in der Sie das Inhaltsverzeichnis und insbesondere installation instructions finden.

Da Sie versuchen, die Punktzahl abzurufen, können Sie die REST Service Client verwenden. Auf dieser Seite finden Sie Anweisungen zum Abrufen einer Partitur.

Sie hier jumpstarted helfen, eine zusammengefasste Liste von Anweisungen Ich werde liefern (wie es heute steht):

  1. Install composer
  2. Führen Sie den folgenden Befehl ein: composer require lenddo/sdk
  3. Fügen Sie den folgenden Code-Schnipsel in einer leeren PHP-Datei:
<?php 

// Fill out the ID & Secret provided to you by your contact at Lenddo. 
$id = ''; 
$secret = ''; 

// Require the Composer autoloader 
require 'vendor/autoload.php'; 

// Instantiate the Lenddo Service Client 
$client = new Lenddo\ServiceClient($id, $secret); 

// Replace the APPLICATION_ID with your client/application ID 
// Replace the PARTNER_SCRIPT_ID with your partner script id 
$response = $client->applicationScore('APPLICATION_ID', 'PARTNER_SCRIPT_ID'); 

// Get the Status Code for the response 
$status_code = $response->getStatusCode(); // 200 

// Retrieve the body of the response 
$score_results = $response->getBody(); 

// Return the score value and reason flags. 
$score_value = $score_results->score; 
$score_flags = $score_results->flags; 

echo $score_value; 
  1. Befolgen Sie alle Inline-Kommentare für das bereitgestellte Codebeispiel.
Verwandte Themen