2011-11-15 14 views
0

私はページのリンクの共有ボタンの統計情報を取得する方法をお探しです。あなたは私が共有回数について、そのページの統計情報を取得する必要が見ることができるようにLinkedInを取得するプログラムでページの統計情報を共有

include("shareButtonStats.class.php"); 
$stats = new shareButtonStats; 
echo "This page shared " . $stats->show . " times on LinkedIn"; 

:あなたはこのようなあなたのウェブサイト上で私のクラスを使用する場合 例えば、私は、PHPのクラスを書いています。

共有ボタン用のLingkedInのjsファイル(from here)を追加するとわかるように、このページにはいくつかのHTMLコードが含まれています。このような何か:

<span class="IN-widget" style="line-height: 1; vertical-align: baseline; display: inline-block; text-align: center;"> 
<span style="padding: 0pt ! important; margin: 0pt ! important; text-indent: 0pt ! important; display: inline-block ! important; vertical-align: baseline ! important; font-size: 1px ! important;"> 
<span id="li_ui_li_gen_1321370527058_1-container" class="IN-top"> 
<span id="li_ui_li_gen_1321370527058_1" class="IN-top"> 
....... 

私はそのHTMLコードを取得する場合、直接ページにそれを含めずに、私はその上に正規表現を使用することができ、その後、共有ボタンを数えます:)

あなたはどんな考えを持っています私のために?

+0

これが問題でしょうか? –

+0

が追加されました:「あなたは私のために何か考えましたか?」そしてはい今それは質問です:) – Eray

答えて

2

私は彼らがやっていると信じて、URLを必要とする単純なWebページ。それは、JavaScriptやPHPのいずれかが、これは

http://www.linkedin.com/countserv/count/share?url=http://www.apple.com

+0

実際、私はLinkedIn APIを見ましたが、私はshare-countメソッドを見つけることができませんでした。ありがとうございました ! – Eray

2

LinkedInのは、まさにそれを行う外部のAPIを提供できます

希望を解析することができたJSONを返します。

function getLinkedInCount($url) 
{ 
    $curl = curl_init("http://www.linkedin.com/cws/share-count?url=" . $url); 
    if (is_resource($curl) === true) 
    { 
     curl_setopt($curl, CURLOPT_FAILONERROR, true); 
     curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); 
     curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
     curl_setopt($curl, CURLOPT_REFERER, "http://www.linkedin.com/"); 

     $result = false; 
       $retries = 3; 
     while (($result === false) && (--$retries > 0)) 
     { 
      $result = curl_exec($curl); 
     } 
     curl_close($curl); 
    } 
    $arr = json_decode(substr($result, 26)); 
    return $arr->count; 
} 

echo getLinkedInCount("http://www.google.com/") . "\n"; 

私はこれにcURLを使用しましたが、別の方法でページをダウンロードすることもできます。

ライブデモについては、以下を参照してください。http://codepad.viper-7.com/VDD5aI

+0

実際、LinkedIn APIを見ましたが、share-countメソッドが見つかりませんでした。ありがとうございました ! – Eray

+0

使用しているエンドポイントと[ここ](https://developer-programs.linkedin.com/retrieving-share-counts-custom-buttons)に記載されているエンドポイントに違いはありますか? –

関連する問題