コンテンツに関する情報を取得するために、今回は API キーを利用してデータを取得していきます。今回は2つのキーを作成して、データの取得に関して確認をしていきます。
API キーの作成
今回初めて API キーを作成するため、以下のように何もキーが表示されない状況となっています。

ボタンをクリックすると、以下のように Key の名前、およびタイプの確認が出てきます。まず最初に、Delivery の Type のキーを作成します。

Save ボタンをクリックすると API キーが表示されます。なお、このキーに関しては、この画面で表示されている間は取得できますが、一覧から取ることはできません。

もう一つ、Preview のキーを取得します。

API キーを利用してデータを取得する
Content Hub ONE で管理しているコンテンツについて、データを取得するための GraphQL のエンドポイントは以下のページで紹介されています。
今回はキーを2つ作成しましたが、エンドポイントが Delivery と Preview で異なる形です。まず、Preview API IDE にアクセスします。

画面にはエラーが表示されています。このエラーを回避するために、HTTP HEADERS を開いて、そこにキーを設定する必要があります。キーの記述方法は以下の Json に対して、上で取得したキーを入れてください。
{
"X-GQL-Token":"aEtSNzBsTaEtSNzBMA"
}
キーを設定すると、以下のように右側の画面からエラーの表示が消えました。

実際に左側の画面に、GraphQL query examples の Query を利用して以下のクエリを作成しました。
{
allBlog {
total
results {
name
id
title
description
}
}
}
結果として、以下のデータを取得することができました。
{
"data": {
"allBlog": {
"total": 2,
"results": [
{
"name": "First post",
"id": "8J0Q3r0-H02ExS1sj27v8A",
"title": "Welcome to Content Hub ONE Blog",
"description": "This blog article provide Sitecore Content Hub ONE introduction."
},
{
"name": "Second post",
"id": "zueShIf2qk6CzN5EL-mAIQ",
"title": "Did you know Headless CMS?",
"description": "Sitecore Content Hub ONE is pure Headless CMS"
}
]
}
}
}
preview においては、Published および Draft のステータスのコンテンツを取得することができています。
次は Delivery の GraphQL の IDE に切り替えて、HTTP HEADERS に正しい値を設定します。そして Preview に向けて投げた同じクエリを利用して、結果を取得すると以下の Json データが返ってきます。
{
"data": {
"allBlog": {
"total": 1,
"results": [
{
"name": "First post",
"id": "8J0Q3r0-H02ExS1sj27v8A",
"title": "Welcome to Content Hub ONE Blog",
"description": "This blog article provide Sitecore Content Hub ONE introduction."
}
]
}
}
}

API キーとエンドポイントを切り替えることで、公開済みのコンテンツのみを取得することができました。
まとめ
実際に取得した Json のデータを見ると、下書き、公開済みという形でデータの取得が可能となっていることを確認することができました。次回はコンテンツタイプに対して、1つフィールドを追加して、取得するデータがどのように変わるのか、確認をします。