facebookシェア数の取得につきまして

ホーム フォーラム お問い合わせ・ブログや記事に関する質問など facebookシェア数の取得につきまして

3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • 投稿者
    投稿
  • #31351 返信
    ひつじ
    ゲスト

    はじめまして。
    wordpressを使ってサイトを運営している者です。

    この度facebookのシェア数を取得しようとしたところ上手くいかず、調べてもわからず、困り果ててこのような形で質問させていただいてしまいました。
    もしよろしければ、ご教示いただけますと幸いです。

    今回、運営サイトのfacebookのシェア数を取得したく、Simplicity2のソースを参考にさせていただきました。
    まず、現状どの様な状態になっているかと言いますと、
    シェア数の取得が出来ていないのと、

    http://graph.facebook.com/?id=http://○○○○○○○

    とページを指定して表示させると、

    {
    “id”: “http://○○○○○○○”
    }

    と反ってきます。
    通常であれば、

    {
    “og_object”: {
    “id”: “○○○○○○○○○”,
    “description”: “○○○○○○○○○”,
    “title”: “○○○○○○○○○”,
    “type”: “article”,
    “updated_time”: “2016-08-25T01:07:41+0000”
    },
    “share”: {
    “comment_count”: 0,
    “share_count”: 5
    },
    “id”: “http://○○○○○○○”
    }

    このように反ってくると思うのですが、データを取得出来なくなる理由としては、何が考えられますでしょうか?
    (取得できなくなったのか、無くなった?のか?状況が全く分かりません。)

    ソースコードを修正した部分は、以下になります。

    ・simplicity2/javascript.js を手を加えずにそのままテーマフォルダに入れる

    ・lib/sns.php , lib/seo.php をテーマフォルダに入れる

    /*********<lib/sns.php 修正箇所>**********/
    //Facebookシェア数を取得する
    if ( !function_exists( ‘fetch_facebook_count’ ) ):
    function fetch_facebook_count($url) {
    //URLをURLエンコード
    $encoded_url = rawurlencode( $url );
    //オプションの設定
    //$args = array( ‘sslverify’ => is_ssl_verification_enable() );
    //Facebookにリクエストを送る
    $response = wp_remote_get( ‘http://graph.facebook.com/?id=’.$encoded_url/*, $args*/ );
    $res = 0;

    上記の
    //$args = array( ‘sslverify’ => is_ssl_verification_enable() );
    ここと
    //Facebookにリクエストを送る
    $response = wp_remote_get( ‘http://graph.facebook.com/?id=’.$encoded_url/*, $args*/ )の、$argsをコメントアウト
    /***************************************/

    /*********<lib/seo.php 修正箇所>**********/
    if ( is_rel_next_prev_link_enable() ) {
    //分割ページのみnext/prevを表示
    add_action( ‘wp_head’, ‘rel_next_prevlink_tags’ );
    }
    この部分全てをコメントアウト
    /***************************************/

    ・functions.php に下記を追記

    /***************************************/
    ////// SNSボタン表示
    include ‘lib/sns.php’;
    function sns_box() {
    ob_start();
    include(get_theme_root() . ‘/’ . get_template() . “/item-social-btn.php”);
    return ob_get_clean();
    }
    add_shortcode(‘sns_box’, ‘sns_box’);
    /***************************************/

    ・item-social-btn.php を追加

    /***************************************/
    /*facebookシェア数部分は以下*/
    <span class=”social-count facebook-count”><?php echo fetch_facebook_count(get_permalink());//echo scc_get_share_facebook(); ?></span>
    /***************************************/

    ・single.php に下記を追記

    /***************************************/
    <?php echo do_shortcode(‘[sns_box]’); ?>
    /***************************************/

    修正箇所は以上です。
    シェア数も取得できませんでしたし、JSONデータの様子もおかしくなってしまいました…

    数サイトの運営をしており、その中の数サイトでsimplicity2を使わせてもらっており、
    ほかのテーマのサイトにて、facebookのシェア数の取得をsimplicity2を参考にさせていただきました。

    拙い文章にて大変失礼いたします。
    足りない情報などありましたらお知らせください。
    もしご返信いただけました場合、申し訳ございませんが拝見させていただくのは月曜日になります。

    お忙しいところ大変恐縮です。
    何卒よろしくお願いいたします。

    #31357 返信
    ひつじ
    ゲスト

    金曜日に投稿したものです。

    すみません、facebookの場合、カウント数が0の場合、shareとcommentsのプロパティが存在しないという事を知りませんでした。
    シェアしたにも関わらずカウントされていないのでどうしたのかと思っておりましたが、先ほど問題なくJSONデータ上でカウントされておりました。
    また、Simplicity2のソースを、自分のサイトに不要な部分まで入れていたので書き換えました。

    こちらを参考にさせていただき、問題なく表示がされました。
    http://nelog.jp/fetch-facebook-count

    すみません、どうもありがとうございました。

    #31362 返信
    アバター画像わいひら
    キーマスター

    すいません。ここ最近体調が優れず、返信が遅れました。
    Facebookは、ここ暫くの間に何度か仕様変更しているようです。
    それについては、以前のトピックにも書いています。
    Facebook8月仕様変更の件

    それで、その仕様変更に対応した書き方に修正したものが以下の記事です。
    http://nelog.jp/fetch-facebook-count

    Simplicityも、最新版のものは上記記事と同時期に、同様に修正してあります。

3件の投稿を表示中 - 1 - 3件目 (全3件中)
返信先: facebookシェア数の取得につきましてで#31362に返信
あなたの情報:




スポンサーリンク
レクタングル(大)広告
レクタングル(大)広告
NO IMAGE
この記事をお届けした
寝ログの最新ニュース情報を、
いいねしてチェックしよう!