2017-12-15 25 views
0

私はユーザー名とパスワードを入力するとウェブブラウザでうまく動作するaddthis API(https://www.addthis.com/academy/addthis-analytics-api/)でいくつかの分析データを取得しようとしていますが、毎日のcronの仕事としてこれをする。 addthisのデベロッパーページでは認証方法を見ていますが、そのリンクは同じページの先頭に戻り、プログラムで認証する方法の例はGoogle検索では見つかりません。addthis API認証

これまでヘッダーを追加してポストフィールドとしてデータを送信しようとしましたが、問題の一部は使用するフィールド名がわからないため、暗闇の中でちょっとぼやけています。誰かが追加APIの経験を持ち、スクリプト経由でアクセスする方法を知っていますか?

はここヘッダ

$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; 

を使用しての試みだ...そしてあなたは、URLに認証ユーザ名とパスワードを渡すことができますPOSTフィールド

$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; 

答えて

0

を使用します。

$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; 

OR周りに別の方法:

$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; 
サンプルコードを参照してください。