FROM CACHE - jp_header
解決済

GraphQL APIのOnlineStoreを取得する方法は?

テックギーク運営者
Shopify Partner
26 3 8

GraphQL APIの公式ドキュメントは、OnlineStoreの取得について記載があります。

https://shopify.dev/docs/admin-api/graphql/reference/online-store/onlinestorearticle

 

しかし、実際にGraphQLを使ってみると、QueryRootにOnlineStoreが存在しません。

私の取得方法が間違っていますか?

私は、OnlineStoreBlogにOnlineStoreArticleにアクセスしたいと思っています。

もちろん、REST APIでは正常に取得することができました。

 

GraphQL APIを使って、OnlineStoreの情報を取得する方法を教えてください。

2 件の受理された解決策

k9bookshelf
訪問者
2 2 4

成功

https://shopify.dev/docs/admin-api/graphql/reference/online-store/onlinestorearticle

提示されたOnlineStoreArticleのドキュメントは、以下のスクリーンショットのようにObjects 配下の記事となっています。

 

k9bookshelf_0-1616984547540.png

 

従ってこのページは、OnlineStoreの取得についての記載ではなく、OnlineStoreにおけるOnlineStoreArticleというリソースの形式を定義しているのみと理解しています。

 

また、OnlineStoreArticleのページ冒頭には

 

> OnlineStoreArticle — Represents an article in an OnlineStoreBlog object. Articles appear in reverse chronological order, with the most recent entry at the top of the blog’s page. A blog can contain any number of articles. Currently, you can only use OnlineStoreArticle to pass an article id to the tagsAdd mutation. For more information, refer to the tagsAdd mutation.

 

とあり、タグ付与のためのmutationの引数として、OnlineStoreArticleに属するidが用いられている、ということのように読み取りました。

 

従って、(取得する目的が分からないので確としたことは言えませんが)「OnlineStoreBlogにOnlineStoreArticleにアクセス」するような操作は、現状のAdmin API (GraphQL)では出来ないと理解して良いと思います。

 

以下のスレッドで議論されているような `shop { searct {...} } ` のようなクエリでOnlineStoreArticleのGraphQL Admin IDを取得して、`node{...}` のようなクエリに渡してあげれば、OnlineStoreArticleの取得自体は出来ると思いますが、OnlineStoreArticleに生えているフィールドから鑑みるに、オンラインストアのブログ記事を直接取得したいようなユースケースでの実用性は薄いように見受けられました。

 

https://community.shopify.com/c/Shopify-APIs-SDKs/GraphQL-Query-blog-articles-by-tag/td-p/663147

元の投稿で解決策を見る

テックギーク運営者
Shopify Partner
26 3 8

成功

ご返信ありがとうございます!

 


@k9bookshelf さんは書きました:

とあり、タグ付与のためのmutationの引数として、OnlineStoreArticleに属するidが用いられている、ということのように読み取りました。

確かにmutaitionの引数として使うことしかできないという意味のようです。。

とりあえず、GraphQLで記事の本文を直接取得できないと理解しました。

 

一旦、REST APIで対応しようと思います。

 

searchの方法についても確認していただきありがとうございます!

参考になりましたm(_ _)m 

 

元の投稿で解決策を見る

2件の返信2

k9bookshelf
訪問者
2 2 4

成功

https://shopify.dev/docs/admin-api/graphql/reference/online-store/onlinestorearticle

提示されたOnlineStoreArticleのドキュメントは、以下のスクリーンショットのようにObjects 配下の記事となっています。

 

k9bookshelf_0-1616984547540.png

 

従ってこのページは、OnlineStoreの取得についての記載ではなく、OnlineStoreにおけるOnlineStoreArticleというリソースの形式を定義しているのみと理解しています。

 

また、OnlineStoreArticleのページ冒頭には

 

> OnlineStoreArticle — Represents an article in an OnlineStoreBlog object. Articles appear in reverse chronological order, with the most recent entry at the top of the blog’s page. A blog can contain any number of articles. Currently, you can only use OnlineStoreArticle to pass an article id to the tagsAdd mutation. For more information, refer to the tagsAdd mutation.

 

とあり、タグ付与のためのmutationの引数として、OnlineStoreArticleに属するidが用いられている、ということのように読み取りました。

 

従って、(取得する目的が分からないので確としたことは言えませんが)「OnlineStoreBlogにOnlineStoreArticleにアクセス」するような操作は、現状のAdmin API (GraphQL)では出来ないと理解して良いと思います。

 

以下のスレッドで議論されているような `shop { searct {...} } ` のようなクエリでOnlineStoreArticleのGraphQL Admin IDを取得して、`node{...}` のようなクエリに渡してあげれば、OnlineStoreArticleの取得自体は出来ると思いますが、OnlineStoreArticleに生えているフィールドから鑑みるに、オンラインストアのブログ記事を直接取得したいようなユースケースでの実用性は薄いように見受けられました。

 

https://community.shopify.com/c/Shopify-APIs-SDKs/GraphQL-Query-blog-articles-by-tag/td-p/663147

テックギーク運営者
Shopify Partner
26 3 8

成功

ご返信ありがとうございます!

 


@k9bookshelf さんは書きました:

とあり、タグ付与のためのmutationの引数として、OnlineStoreArticleに属するidが用いられている、ということのように読み取りました。

確かにmutaitionの引数として使うことしかできないという意味のようです。。

とりあえず、GraphQLで記事の本文を直接取得できないと理解しました。

 

一旦、REST APIで対応しようと思います。

 

searchの方法についても確認していただきありがとうございます!

参考になりましたm(_ _)m