質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CMS

CMS(Content Management System)は複数のユーザーでコンテンツを編集することが可能なWebサイトの管理/構築用のプラットフォームを指します。また、会社単位で運用管理するものはECMと呼びます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

276閲覧

microCMSの簡単なやり方…さえ分からない

YYBa257

総合スコア3

CMS

CMS(Content Management System)は複数のユーザーでコンテンツを編集することが可能なWebサイトの管理/構築用のプラットフォームを指します。また、会社単位で運用管理するものはECMと呼びます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2024/02/13 08:12

HTMLやCSSしか分からないのにヘッドレスCMSに手を出そうとしている身の程知らずですが、そんな身の程知らずでもmicroCMSに投稿できそうな解説ページを見つけ、そこで学習しています。

https://note.com/koushikagawa/n/ndf35cc9de82a

上記のページの説明からすると
microCMSのドメイン(URL)
投稿する記事のコンテンツID(記事のURL末尾部分)
API KEY
さえあればHTMLだけでも記事の表示ができるそうですが、できませんでした。

コンテンツIDやAPI KEYを間違っているのであれば何も表示されないはずですが、
なぜか本文だけ表示されません。(タイトルは表示されます)

microCMS公式のチュートリアルは私の技量だと敷居が高すぎて
ようやく簡単なものを見つけたのに、まさかのつまづきに戸惑っております。

なぜ本文だけが非表示になるのか、また、どうすれば直せるのか
ご教授いただけましたら幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Lhankor_Mhy

2024/02/13 08:34

コードをご提示ください
YYBa257

2024/02/13 09:07

参考にしたページほぼそのままですが… <html lang="ja"> <body> <main> <h1 id="title"></h1> <hr> <div id="body"></div> </main> <script> fetch("https://[microcmsのドメイン]/api/v1/blog/[コンテンツid]", { headers: { "X-API-KEY": "[API KEY]" } }) .then(res => res.json()) .then(json => { document.getElementById("title").innerHTML = json.title; document.getElementById("body").innerHTML = json.body; }) </script> </body> </html> これで記事のタイトルだけは出てきます
Lhankor_Mhy

2024/02/13 09:21

なるほど。JSONをご提示いただけますか?
YYBa257

2024/02/13 09:38

.innerHTML = json.title; 〜とコードに出てくるからには必要なものかと思うのですが さきほど提示したHTML以外のものは存在してないのです。 参考にしたページに、歯抜けや手落ちがあったのでしょうか? それさえよく分かってない身ですみません…
YYBa257

2024/02/13 10:40

https://note.com/koushikagawa/n/ndf35cc9de82a 従来のアドレスがこれですから https://note.com/koushikagawa/n/ndf35cc9de82a#21c4b08c-77ef-487b-b260-c3cde909a130 の『#21c4b08c-77ef-487b-b260-c3cde909a130』に当たる部分を聞いてるわけですね? その調べ方すら分からず申し訳ないです… 文字数であてはまりそうなのがAPI KEYくらいしか思いつきませんが一応書いておきます コンテンツID blog/pf9tbcd5 API KEY SoWqGuB5HddJ9jD0ShXxj4NHPfcWBHCAr3es 違ってたら、すみません
YYBa257

2024/02/14 08:29

本当に分かってなくて申し訳ないです 指定されたアドレスを開いても、curlでAPIを参照する方法しか出てこず 前回記載したコンテンツIDやAPI KEY以上の情報が見当たりません。 もしかして{endpoint}のことですか? (対象のページではnews/となってる箇所) それともドメインのことでしょうか? (対象のページではresinc.microcms.ioとなってる箇所) 対象ページの「API確認」ではなく、別の箇所を見るべきでしょうか? 「json」でページ内検索をかけてもHTMLで記載されてる (サンプルコードの)分しかヒットしないため何処を探せばいいかもわかりません。
Lhankor_Mhy

2024/02/14 08:34

『curlでAPIを参照する方法』のお話をさせていただいています。 その手順のスクリーンショットにもJSONが写っていますよね? curl でテストしたのであれば、レスポンスのJSONを取得できていますよね? それを見せてください、と申し上げています。
YYBa257

2024/02/14 11:24

APIプレビューでcURLを選んだ状態で「取得」をクリックしたときに表示される、この一式がJSONなんですか? { "id": "pf9tbcd5", "createdAt": "2024-02-08T09:30:41.210Z", "updatedAt": "2024-02-09T10:21:48.489Z", "publishedAt": "2024-02-08T09:30:41.210Z", "revisedAt": "2024-02-09T10:21:48.489Z", "title": "Test", "content": "<p>サンプル表示になります</p><figure><img src=\"https://images.microcms-assets.io/assets/a71ab32d2f3148d0bb9803d8d6c7a30b/6a0fece1e47646c9907b2edb8e67f50e/0001.jpg\" alt=\"\" width=\"200\" height=\"300\"></figure>", "tags": [], "writer": null } まだ練習用なので、タイトルや本文がそういったものになってますが…コードはこんな感じです。 そして最初にも書いたように、このままだとなぜか本文だけが非表示(undefined)になります。
Lhankor_Mhy

2024/02/15 00:35

ご提示の note で示されているJSONとの違いは、body という項目の有無ですね。 おそらく、YYBa257 さんが note の手順を忠実に追っているつもりでも、項目の名前などが note の記述と異なってしまっているのだろうと思います。 note の手順で言うとこのあたりですね。 https://note.com/koushikagawa/n/ndf35cc9de82a#e5bb124f-00b1-4ee1-beb3-0a0a3fc18041 スクリーンショットでは body というフィールドIDが見えますが、YYBa257 さんのインターフェースではこれが存在しないのではないかな、と想像しています。 今一度APIのインターフェースを確認をしてみるか、またはもしごちゃごちゃになってしまっているのであれば、いっそのこと初めから手順をよく見てやり直してみてはいかがでしょうか。
YYBa257

2024/02/15 10:31

基本設定のAPIスキーマでbodyを設定していないのだから、JSONにもbodyは存在しない… サンプル通りにHTMLを組んでも、それじゃ出てくるわけがない …そんな簡単なことを、幾度となく説明を受けて、ようやく理解できました おかげさまで、本文も表示され、やりたいことに近づけた気がします ベストアンサーに選びたいので同じ内容を回答欄に投稿いただけますでしょうか?
guest

回答1

0

自己解決

APIの設定を見直していたところ、自己解決できました

解説ページ通りに進めていた…と言いながらAPIスキーマを初期設定のまま放置し、フィールドIDに「body」を設定してないのだから、そりゃ出てくるわけ無かったんですよね…

こんな初歩で四苦八苦していた私にアドバイスいただき、本当に感謝しかありません
ありがとうございました

投稿2024/02/17 09:28

YYBa257

総合スコア3

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問