インスタグラムの投稿を取得
PHPでインスタグラムの投稿を取得します。
下記のコード内、『InstagramビジネスアカウントのID』と『有効期限無期限のアクセストークン』の2箇所を書き換えてください。
<?php $instagram = null; $instagram_business_id = 'XXX'; // InstagramビジネスアカウントのID $access_token = 'XXX'; // 有効期限無期限のアクセストークン $post_count = 24; $query = 'name,media.limit(' . $post_count. '){caption,like_count,media_url,permalink,timestamp,username,comments_count}'; $get_url = 'https://graph.facebook.com/v7.0/' . $instagram_business_id . '?fields=' . $query . '&access_token=' . $access_token; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $get_url); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET'); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($curl); curl_close($curl); if($response){ $instagram = json_decode($response); if(isset($instagram->error)){ $instagram = null; } } ?>
データは配列で取得できますので、ループ処理を行なって各投稿を表示していくことになります。
具体的には次のようなコードになります。
<ul> <?php foreach($instagram->media->data as $post): $caption = $post->caption; $caption = preg_replace('/\n/', '<br>', $caption); ?> <li> <a href="<?php echo $post->permalink; ?>" target="_blank" > <span class="thumbnail"> <img src="<?php if($post->media_type=='VIDEO'){ echo $post->thumbnail_url; } else { echo $post->media_url; } ?>" alt="<?php echo $caption; ?>"> </span> </a> </li> <?php endforeach; ?> </ul>
あとはCSSでデザインを整えれば完了です!
最後に
初心者の方だと、聞き慣れない単語が多く、各ステップが面倒なので間違えることも多く、時間がかかるでしょう。
しかし一度成功してしまえば、あとはラクですし制作中のどんなサイトでも自由自在にInstagramの投稿を表示させることができます。
この機会にぜひマスターしてください。
1 2