1. ヘルプ
  2. 実装(全般)
  3. トラブルシューティング

公開中かつ下書き中のコンテンツを下書き中の値を検索しても取得できません。どうしたら解決しますか?

→ 仕様になります。

公開中かつ下書き中のコンテンツは、公開中のデータのみを対象に検索される仕様となっています。

そのため、APIキーの権限にて、「下書き全取得」の権限を付与している場合も、公開中の値を対象に検索されます。


filtersパラメータで取得する例

例えば、以下のように「公開中」のステータスを持つコンテンツが1件あるとします。また、前提としてAPIキーには「下書き全取得」の権限が付与されているとします。

// 「公開中」

{
"id": "someid",
"createdAt": "2022-05-27T05:04:26.815Z",
"updatedAt": "2022-05-27T05:04:57.663Z",
"publishedAt": "2022-05-27T05:04:26.815Z",
"revisedAt": "2022-05-27T05:04:57.663Z",
"title": "hoge",
}

このコンテンツを編集し、以下のように下書き保存したと仮定します(「公開中かつ下書き中」)。

// 「公開中かつ下書き中」
// (上記のコンテンツをアップデートし、下書きとして保存した状態)

{
"id": "someid",
    "createdAt": "2022-05-28T05:04:26.815Z",
"updatedAt": "2022-05-28T05:04:57.663Z",
"publishedAt": "2022-05-28T05:04:26.815Z",
"revisedAt": "2022-05-28T05:04:57.663Z",
"title": "piyo", -----> こちらが変更された
}

ここで、コンテンツ内の title の値を用いて、コンテンツの絞り込みをすることを考えます。

この場合、GET APIで「?filters=title[equals]piyo」のクエリを付与して取得をおこなった場合の検索結果は0件となります。

一方、「?filters=title[equals]hoge」のクエリを付与した場合の検索結果は以下のように1件取得できます(検索対象は、現在公開中の「hoge」となっているため)。

また、APIキーには「下書き全取得」の権限が付与されているため、得られる結果としては下書き中の値となります。

{
"contents": [
{
"id": "someid",
        "createdAt": "2022-05-28T05:04:26.815Z",
       "updatedAt": "2022-05-28T05:04:57.663Z",
       "publishedAt": "2022-05-28T05:04:26.815Z",
       "revisedAt": "2022-05-28T05:04:57.663Z",
"title": "piyo",
}
],
"totalCount": 1,
"offset": 0,
"limit": 10
}

filtersパラメータの例をご紹介しましたが、qパラメータでも同様です。