Microcmsでタグ別の記事のデータを取得したい
タグ別の記事のデータを取得したい
AstroとMicrocmsでブログサイトを作成しており
タグ別の記事一覧を作成するために
全てのタグを取得し、その取得したタグを元に
タグ別に記事データを取得しようと下記のコードを書きました。
export async function getStaticPaths(){
//記事データを取得
const response = await getBlogs({});
const tags = response.contents;
//全てのタグを取得
const tagList = tags.map((tag) => {
return tag.id;
});
//tagListの中身
[ 'ssz9g857d0b', 'inexlbbch3' ]
//タグごとの記事を取得
const getBlogsByTags = async (queries?: MicroCMSQueries) => {
return await client.get<BlogResponse>({ endpoint: "blogs", queries:{filters: `tag[contains]${tagList}`}});
};
const result = await getBlogsByTags({})
console.log(result)
}
出力結果
{ contents: [], totalCount: 0, offset: 0, limit: 10 }
発生している問題
下記のコードで[contains]で指定して複数指定を行っているのですがcontentsが空の配列で返されてしまいます。
return await client.get<BlogResponse>({ endpoint: "blogs", queries:{filters: `tag[contains]${tagList}`}});
};
試したこと
[ 'ssz9g857d0b', 'inexlbbch3' ]配列の状態だどfilterがうまく作用しない可能性があるとかんがえたので文字列で指定をしましたがうまくいきまんせした。
const getBlogsByTags = async (queries?: MicroCMSQueries) => {
return await client.get<BlogResponse>({ endpoint: "blogs", queries:{filters: `tag[contains]${tagList.join(",")}`}});
};
単数の場合([equals])は問題なくコンテンツデータを取得できるのですが
複数含ませた場合がうまく取得できません。
どなたか分かる方いらっしゃいましたら、ご回答いただけますと幸いです。