metaobject 定義の PRIVATE / PUBLIC_READ を廃止
原題: Removing deprecated PRIVATE and PUBLIC_READ enums on metaobject definitions
- Admin API
- GraphQL
- Metaobjects
- Metafields
- 非推奨
- Enum
- アクセス制御
- API 2026-10
- Deprecation
図解 : metaobject 定義の PRIVATE / PUBLIC_READ enum を廃止(MetaobjectAdminAccess) Admin GraphQL API / 非推奨化 metaobject 定義の PRIVATE / PUBLIC_READ を廃止 MetaobjectAdminAccess enum の 2 値が非推奨に。これらは「もう実態に合っていない」値で、API はこれらを返さなくなる。必須の対応は無いが、コードを更新しておくと明確性が保て、将来のアクセス問題を防げる。 このページの構成 そもそも何が変わるのか(30秒で理解) 図解 : API レスポンスから消える 2 つの値 影響範囲と「必須対応」の有無 なぜこの変更が入るのか 技術者が押さえるべき5つのポイント 業務に活かせる3つのユースケース 提案で使える1行サマリ 1 そもそも何が変わるのか metaobject 定義のアクセス制御に使う MetaobjectAdminAccess enum から、 PRIVATE と PUBLIC_READ の 2 値が 非推奨(deprecated) になる。 これらは「すでに使われておらず、API も返さない」値。 必須の変更は無い が、コードを直しておくと明確性が保てる。 これまで : 2 値が存在 PRIVATE と PUBLIC_READ が enum 上に残っていたが、実際の挙動を正確に表していなかった(=あいまい)。 これから : 非推奨&未返却 2 値は obsolete(廃れた値)として非推奨化。 API がこれらを返すことはもう無い 。あいまいさが取り除かれる。 2 図解 : API レスポンスから消える 2 つの値 代わりに使うべき値・置き換え先の enum 値は、この記事には明記なし(記載なし)。 具体的な代替値は公式の MetaobjectAdminAccess ドキュメントで要確認。 3 影響範囲と「必須対応」の有無 項目 記事の記載 対象 enum MetaobjectAdminAccess 非推奨になる値 deprecated PRIVATE / PUBLIC_READ API の挙動 これらの値は もう返らない (never returned) 必須の対応 なし 「There are no required changes」 推奨される対応 コード更新(明確性の維持+アクセス問題の予防に有効) 関連タグ Admin GraphQL API 2026-10 完全削除の時期 記載なし 代替値・移行手順 記載なし 「必須対応なし」だが、 古い値を前提に書いたコード (mutation の入力でこれらを渡す/レスポンスでこれらを判定する)は、放置すると意図しないアクセス挙動につながりうる、というのが記事の趣旨。 4 なぜこの変更が入るのか あいまいさの除去 非推奨の 2 値は、 意図したアクセス挙動を正確に反映していなかった 。残しておくと「この値だと結局どうなるのか」という混乱の元になる。 明確性の維持と予防 コードを更新しておけば、 明確性(clarity)が保て、将来起こりうるアクセス問題(potential access issues)を予防 できる、と記事は述べている。 5 技術者が押さえるべき5つのポイント 1. 対象は enum の 2 値だけ MetaobjectAdminAccess の PRIVATE と PUBLIC_READ が非推奨。enum 全体が消えるわけではない。 2. 戻り値の分岐は実質 dead code に API はこの 2 値を 返さない 。 access.admin の戻り値で PRIVATE / PUBLIC_READ を判定している分岐は、もう到達しない。 3. 必須対応は無い(任意) 「no required changes」。緊急のマイグレーションは不要。ただし明確性と予防のため更新は推奨される。 4. 代替値は記事に無い 何に置き換えるべきかは 記載なし 。入力で 2 値を渡している箇所を直す際は、有効な値を公式 enum ドキュメントで確認すること。 5. 点検対象は「入力」と「出力」の両面 入力 =metaobject 定義の作成・更新 mutation で access.admin にこの 2 値をハードコードしている箇所。 出力 =query の戻り値でこの 2 値を読んで分岐している箇所。どちらも棚卸しの対象。タグ上の対象 API バージョンは 2026-10 。 6 業務に活かせる3つのユースケース USE CASE 1 コードベース監査 : 古い enum 値のハードコードを洗い出す 課題 過去に作った連携で、metaobject 定義の作成・更新 mutation の access.admin に PRIVATE / PUBLIC_READ を直接指定している箇所が残っている可能性がある。 打ち手 リポジトリを PRIVATE / PUBLIC_READ で全文検索し、metaobject 関連の入力に渡している箇所を特定。有効な値(記事に記載なし=公式 enum ドキュメントで確認)へ置換。 効果 必須ではないが、コードの明確性が保て、将来のアクセス挙動の取り違えを予防できる。 技術メモ API はもうこの 2 値を返さないため、入力側を直さない限りクライアントには表面化しにくい。だからこそ「埋もれた指定」を能動的に探すのが要点。 USE CASE 2 連携アプリの戻り値分岐を整理(dead code 除去) 課題 外部システムや社内ツールが、metaobject 定義クエリの access.admin 戻り値で PRIVATE / PUBLIC_READ を見て処理を分けている。 打ち手 これらの値はもう返らないため、該当する条件分岐は到達不能。安全に撤去し、現行で返る値を前提にロジックを書き直す。 効果 到達しないコードパスの除去でバグの温床を減らし、レビューや保守を軽くできる。 技術メモ 必須ではないが、対象 API バージョン 2026-10 へ上げる作業と同じタイミングで棚卸しすると二度手間を避けられる。 USE CASE 3 受託運用 : 影響説明とピンポイント回帰テスト 課題 多数ストアの metaobject 構成を保守しており、「この変更で壊れないか」をクライアントに説明し、無駄な改修は避けたい。 打ち手 「必須対応なし」を根拠に影響が限定的であることを共有しつつ、 access.admin をハードコードしている箇所だけを抽出して回帰テスト対象に絞る。 効果 全面改修を避けつつリスク箇所だけ潰せる。説明・見積りの根拠資料にも転用できる。 技術メモ テスト観点は「入力で 2 値を渡す mutation」と「出力で 2 値を判定する query」の両方。完全削除の時期は記載なしのため、恒久対応の優先度は中程度に置ける。 7 提案で使える1行サマリ 「 MetaobjectAdminAccess の PRIVATE / PUBLIC_READ が非推奨 に。API はもう返さない。 必須対応はゼロ だが、これらをハードコードしている入力・出力箇所だけ点検しておけば、明確性が保て将来のアクセス問題を防げる。」 source : shopify.dev / changelog / removing-deprecated-private-and-publicread-enums-on-metaobject-definitions 公開日 : 2026-04-15 / ソース : Developer Changelog(Admin GraphQL API・API 2026-10)