質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.79%

Facebookの記事を自サイトに載せる

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,500

score 25

Facebookの写真と本文を自分のサイトにもってきて、自由にレイアウトしたいです。
以下のサイトのようなイメージです。
http://www.awajishimahighwayoasis.com/
色々方法があるようで、試してみましたがすべてうまくいきません。。

出来れば今、主流で安全な方法をご教授いただければと思います。

試したこと
①AppアクセストークンとfacebookIDをつかってjsで呼び出す

    $(function() {
        $.ajax({
            type: "GET",
            url: "https://graph.facebook.com/FACEBOOKID/feed?fields=permalink_url,message,story,created_time&locale=ja_JP,id&access_token=アクセストークン",
            dataType: "json",
            success: function(json) {
                json = json.data;
                var num = json.length;
                var Feed = "<ul>\n";
                for (var i = 0; i < num; i++) {
                    var time = parseISO8601(json[i].created_time);
                    var text = json[i].message;
                    var story = json[i].story;
                    var link = json[i].permalink_url;
                    if (!story) {
                        Feed += '<a href="' + link + '" target="_blank"><li><small>' + time + '</small> ' + '<p class="text-overflow">' + text + '</p></li></a>\n';
                    } else {
                        Feed += '<a href="' + link + '" target="_blank"><li><small>' + time + '</small> ' + '<p class="text-overflow">' + story + '</p></li></a>\n';
                    }
                }
                Feed += '</ul>\n';
                $("#facebook").append(Feed);
            }
        });
    });

    function parseISO8601(str) {
        var date = str.match(/(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})/);
        return date = date[1] + "年" + date[2] + "月" + date[3] + "日";
    }
</script>


https://blog.gurunpa.com/facebook-graphapi-json
エラー:(#100) Tried accessing nonexisting field (feed) on node type (Application)

②AppアクセストークンとfacebookIDを使ってPHPで呼び出す

$url="https://graph.facebook.com/FACEBOOKID/feed?access_token=アクセストークン&limit=30&locale=ja&fields=created_time,message,full_picture,permalink_url";

$jsonData = file_get_contents($url, false, stream_context_create($options));

 $json = json_decode($jsonData, true); // jsonデータの整形・出力

 foreach ($json[data] as $data) :
  // var_dump($data);
  $f_contentStr = $data[message];
  $f_contentStr = strip_tags($f_contentStr); // テキスト取得
  $f_contentStr = preg_replace("/(\015\012)|(\015)|(\012)/", "", $f_contentStr); // 改行を削除
  $len_c = mb_strlen($f_contentStr); // コンテンツ文字数
  $len_c_max = 50; // 上限文字数
  $extention = '・・・'; // 末尾に付ける文字
  if($len_c>$len_c_max) {
    $f_contentStr = mb_substr($f_contentStr,0,$len_c_max); // 文字抜き出し
    $f_contentStr = $f_contentStr.$extention; // 末尾に付与
  };

  $f_permalink = $data[permalink_url];
  if (isset($data[full_picture])) {
    $f_pic = $data[full_picture];
  }else{
    $f_pic = "/img/bg2.jpg"; // 画像がなかったら代わりの画像を
  };
?>


https://sutobu000.hateblo.jp/entry/20180710/1531199685
エラー:Parse error: syntax error, unexpected end of file in C:\xampp\htdocs\facebook.php on line 28

両サイトともコピペしてアプリIDとアクセストークンのみ変更いたしました。
解決方分からなくても、このサイト通りでいけたとかでしたら教えてください!

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • m.ts10806

    2019/06/01 14:13

    facebookAPIの実行URLhttps://graph.facebook.com/FACEBOOKID/feed?
    です。
    こちらを直接ブラウザのアドレスバーに入力するとどうなりますか?
    という確認です。

    キャンセル

  • bigginer_hara

    2019/06/01 15:08

    なるほど。ありがとうございます。

    https://graph.facebook.com/v3.3/【appID】/feed?access_token=【アプリトークン】で見ると
    "(#100) Tried accessing nonexisting field (feed) on node type (Application)"というエラーがでます。

    投稿データの取得ができていないのですね、、

    キャンセル

  • m.ts10806

    2019/06/01 15:23

    パラメータ不足してないかとか間違ってないかとかマニュアル確認してみてください

    キャンセル

まだ回答がついていません

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.79%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る