しずかなインターネットのAPIを利用する
しずかなインターネットのAPIを利用して記事一覧を引っ張ってくるというのをPHPでやったので、そのメモ。
ドキュメント関連は以下。
APIキーは事前に取得しておく。
$api = 'API KEY';$header = [ 'Content-Type: application/json', 'Authorization: Bearer ' .$api];$param = [ //条件を絞り込む場合はパラメータを指定 'sort' => 'created', 'direction' => 'desc', 'visibility' => 'ANYONE'];
$ch = curl_init();$options = [ CURLOPT_URL => 'https://sizu.me/api/v1/posts?' .http_build_query($param), //CURLOPT_URL => 'https://sizu.me/api/v1/posts', ←パラメータを指定しない場合はこっち CURLOPT_RETURNTRANSFER => true, CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => $header];curl_setopt_array($ch, $options);$res = json_decode(curl_exec($ch), true);curl_close($ch);
var_dump($res);
一応出力のループも。
<?php foreach($res['posts'] as $article): //var_dump($value); //date $t = $article['createdAt']; $date = new DateTime($t); $date->setTimeZone(new DateTimeZone('Asia/Tokyo'));
//tags $tags = $article['tags'];?> <article> <h2><a href="https://sizu.me/[account_name]/posts/<?php echo $article['slug']; ?>"><?php echo $article['title']; ?></a></h2> <div> <p><time datetime="<?php echo $date->format('Y-m-d'); ?>"><?php echo $date->format('Y-m-d'); ?></time></p> <?php if($tags): ?> <ul> <?php foreach($tags as $tag) { echo '<li>#' .$tag. '</li>'; } ?> </ul> <?php endif; ?> </div> </article><?php endforeach;?>
しずかなインターネットに限らず、ほかのAPIでもだいたい似たような感じのはず。