APIを利用してALISで書いた記事をホームページに取り込んで表示する方法(concrete5 編)。
ALISには、APIがあります。APIを使うと、ALISで書いた記事を自分のホームページやブログに取り込んで表示することができます。
今回は、弊社ウェブサービス「マイ見積」や「aligator.press」等でも利用している concrete5の例です。
ALIS ドキュメントによると、/users/{user_id}/articles/public へアクセスすれば良い、と分かりました。私のuser_idはmizunoなので、私の場合は /users/mizuno/articles/public です。公開記事なので、認証無しに取得できます。
データを取得するコード
$app = Facade::getFacadeApplication();
$httpClient = $app->make(HttpClient::class);
$url = 'https://alis.to/api/users/mizuno/articles/public';
$httpClient->setUri($url);
$response = $httpClient->send();
$responseBody = $response->getBody();
$data = @json_decode($responseBody, true);
取得したデータを表示するコード
<?php
foreach($alisdata['Items'] as $item) {
$link = 'https://alis.to/' . $item['user_id'] . '/articles/' . $item['article_id'];
?>
<div class="col-xs-12 col-sm-12">
<div class="col-xs-4 col-sm-3">
<a href="<?php echo h($link);?>" target="_blank"><img src="<?php echo h($item['eye_catch_url']);?>"></a>
</div>
<div class="col-xs-8 col-sm-9">
<h3><a href="<?php echo h($link);?>" target="_blank"><?php echo h($item['title']);?></a></h3>
<p><?php echo h($item['overview']);?></p>
</div>
</div>
<?php
}