2017-12-15 3 views
0

Ich versuche, einige Analytics-Daten über die addthis API (https://www.addthis.com/academy/addthis-analytics-api/) zu greifen, die gut über einen Webbrowser funktioniert, wenn ich den Benutzernamen und das Passwort eintippe, aber nicht herausfinden, wie ich kann dies als täglichen Cron-Job zu tun. Auf der Dev-Seite von addthis finden Sie die Authentifizierungsmethoden, aber dieser Link führt Sie nur zum Anfang derselben Seite zurück, und Googling scheint keine Beispiele für die programmatische Authentifizierung zu finden.addthis API Authentifizierung

Bis jetzt habe ich versucht, Header hinzuzufügen und Daten als Postfelder zu senden, aber ein Teil des Problems ist, ich weiß nicht, welche Feldnamen ich verwenden sollte, also fummle ich ein wenig im Dunkeln. Hat jemand andere Erfahrung mit der addthis-API und weiß, wie man über ein Skript darauf zugreifen kann?

Hier ist ein Versuch, Header mit

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,'https://api.addthis.com/analytics/1.0/pub/shares/url.json?pubid=PUB_ID&period=day'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET'); 
$headers = array(); 
$headers[] = "userid: $user"; 
$headers[] = "password: $pass"; 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
$result = curl_exec($ch); 
echo $result; 

... und dann POST Felder

$data = array('userid' => $user, 'password' => $pass); 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,'https://api.addthis.com/analytics/1.0/pub/shares/url.json?pubid=PUB_ID&period=day'); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);                 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST'); 
$headers = array(); 
$headers[] = 'Content-Type: application/json'; 
$headers[] = 'Content-Length: '.strlen($data); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
$result = curl_exec($ch); 
echo $result; 

Antwort

0

Sie Authentifizierung Benutzername und Passwort in der URL übergeben kann. Bitte beachten Sie Beispielcode:

$url = 'https://api.addthis.com/analytics/1.0/pub/shares/url.json?pubid=PUB_ID&period=day'; 
$username = 'username'; 
$password = 'password'; 

$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST'); 
$result = curl_exec($ch); 
echo $result; 

oder eine andere Art und Weise um:

$url = 'https://username:[email protected]/analytics/1.0/pub/shares/url.json?pubid=PUB_ID&period=day'; 

$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST'); 
$result = curl_exec($ch); 
echo $result;