トップページ ヘルプ 機能・サービス APIを使用することで最新投稿…
機能・サービス
掲示板の投稿内容を外部から取得したい
APIを使用することで最新投稿30件を取得することができます。
本機能を使用には技術的な知識が必要です。知識をお持ちでない方向けには埋め込み用ウィジェットの提供も別途行っています。

概要


本APIは、APIキーHMAC署名による認証を行います。クライアントは署名付きヘッダーを送信する必要があります。APIキーおよびシークレットキーは管理画面より発行することができます。

API情報


エンドポイントhttps://rara.jp/api/latestPost
メソッドGET
認証方式APIキー + HMAC署名(SHA-256)
返却形式JSON


認証方法


以下のヘッダーを付与してください:

X-API-KeyあなたのAPIキー
X-TimestampUNIXタイムスタンプ(秒)
X-Signature後述の方法で生成した署名


署名生成ルール


以下の形式で署名対象文字列を構成します:

HTTPメソッド
リクエストパス
タイムスタンプ
ボディ

例:

GET
/api/latestPost
1722600000


これに対して、次のように署名を生成します:

$signature = hash_hmac('sha256', $dataToSign, $secretKey);


PHPクライアントサンプル


<?php
$apiKey    = 'あなたのAPIキー';
$secretKey = '対応するシークレットキー';
$method    = 'GET';
$baseUrl   = 'https://rara.jp/api/latestPost';
$timestamp = time();
$body      = '';

$parsedUrl = parse_url($baseUrl);
$path      = $parsedUrl['path'] ?? '/';
$dataToSign = "{$method}\n{$path}\n{$timestamp}\n{$body}";
$signature = hash_hmac('sha256', $dataToSign, $secretKey);

$ch = curl_init($baseUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "X-API-Key: $apiKey",
    "X-Timestamp: $timestamp",
    "X-Signature: $signature"
]);
$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);
print_r($data);


Pythonクライアントサンプル


import time
import hmac
import hashlib
import requests
from urllib.parse import urlparse

api_key = 'あなたのAPIキー'
secret_key = '対応するシークレットキー'
method = 'GET'
base_url = 'https://rara.jp/api/latestPost'
timestamp = int(time.time())
body = ''

parsed_url = urlparse(base_url)
path = parsed_url.path or '/'
data_to_sign = f"{method}\n{path}\n{timestamp}\n{body}"
signature = hmac.new(secret_key.encode(), data_to_sign.encode(), hashlib.sha256).hexdigest()

headers = {
    'X-API-Key': api_key,
    'X-Timestamp': str(timestamp),
    'X-Signature': signature
}

response = requests.get(base_url, headers=headers)
print(response.json())


成功レスポンス例


{
    "num": "記事No",
    "sub": "投稿タイトル",
    "date": "投稿日時",
    "lastup": "最終更新日時",
    "name": "投稿者名",
    "com": "本文",
    "open": "公開中の場合、true 非公開の場合 false",
    "url": "https://rara.jp/***",
  }


エラー例


状況
署名が無効{"error": "Invalid signature"}
タイムスタンプがずれている{"error": "Timestamp is too old"}
APIキーが存在しない{"error": "Invalid API key"}


注意事項


タイムスタンプの誤差は ±5分以内である必要があります。
署名は hex形式 を使用してください。
シークレットキーは外部に漏洩しないよう厳重に管理してください。
通信は必ず HTTPS 経由で行ってください。
Post
2025-08-02
関連する記事