ウォークスルー
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
オーサリングおよび管理APIは、インタラクティブなブラウザベースのGraphQL IDEやHTTPリクエストを通じて探索できます。
GraphQL Authoring and Management APIプログラムやGraphQL IDEを使ったクエリには承認が必要です。
このウォークスルーでは、以下の方法を説明します:
- GraphQL IDEを有効にしてください。
- アクセストークンを取得してください。
- 追加のアクセストークン(任意)を取得してください。
- GraphQL IDEを承認しろ。
- HTTPリクエストを承認します。
!注このウォークスルーは、PowerShell 7以降のコマンドを実行していることを前提としています。以前のバージョンではPowerShell curlコマンドを正しく解釈できず、ここで説明したようなエラーが発生することがあります。問題が発生した場合は、PowerShell 7以降を使用しているか、curl対応端末(Git BashやWSLなど)で直接コマンドを実行してください。
GraphQL IDEを有効にしてください
GraphQL IDEを使うには、設定で有効にする必要があります。最低でもsitecore\Sitecore Client Usersの役割は持っている必要があります。
!注このGraphQL IDEは開発および探索的な利用を支援することを目的としており、GraphQL APIの通常の運用には必須ではありません。
GraphQL IDEを有効にするために:
- Deployでtrue値のSitecore_GraphQL_ExposePlaygroundという環境変数を作成します。すでに存在している場合は、環境変数の値をtrueに更新してください。
- 環境変数を発動させるには、環境を再デプロイしてください。
アクセストークンを取得する
GraphQL IDEを承認するためにアクセストークンを取得する必要があります。または、Authoring and Management APIエンドポイントに対して操作を行うにはHTTPリクエストを承認する必要があります。
アクセストークンを取得するには:
- Sitecore CLIの dotnet sitecore cloud login コマンドを実行し、プロンプトに従って環境にログインしてください。
- ログインすると、プロセスはアクセストークンを保存し、GraphQL IDEやHTTPリクエストに必要なAuthorizationヘッダーを設定するために使えます。 ./sitecore/user.json ファイルから accessToken プロパティの値をコピーし、後で使うために保存します。
追加のトークンや自動化クライアントが必要ない場合は、GraphQL IDEの承認を続けてください。
追加のアクセストークンを取得する(任意)
複数のトークンや自動化クライアントを使いたい場合、例えばHTTPリクエスト用とGraphQL IDE用など、追加のトークンを生成することも可能です。
!注XM Cloudは現在SitecoreAIです。エンジニアリング資産が更新されている間、一部のコード例、画像、UIラベルはXM Cloudを使用している場合があります。
追加のアクセストークンを取得するには:
-
環境に合った自動化クライアントを作成しましょう。デフォルトでは、権威URLはhttps://auth.sitecorecloud.io、オーディエンスURLはhttps://api.sitecorecloud.ioです。
-
以下のコマンドでベアラートークンをリクエストします:
curl --location --request POST '
/oauth/token' --header 'Content-Type: application/x-www-form-urlencoded' --data-urlencode 'client_id= ' --data-urlencode 'client_secret= ' --data-urlencode 'audience= ' --data-urlencode 'grant_type=client_credentials' プレースホルダーは以下のように置き換えます:
- .sitecore/user.jsonファイルのendpoints.xmCloud.authority値。 - .sitecore/user.jsonファイルのendpoints.xmCloud.clientId値。 - .sitecore/user.jsonファイルのendpoints.xmCloud.clientSecret値。 - .sitecore/user.jsonファイルのendpoints.xmCloud.audience値。
成功した場合、応答はコンソールに印刷されます。
{ "access_token":"eyJhbGciOiJSUzI1NiIs...", "scope":"xmcloud.cm
", "expires_in", "token_type":"Bearer" } -
レスポンスから引用符なしのaccess_token値をコピーし、トークンを後で使うために保存してください。
!重要回答の性質expires_inに注意を払ってください。これはJWTトークンの有効期限を示しています。それ以降はトークンが無効となり、新しいトークンを申請しなければなりません。
GraphQL IDEを許可しろ
GraphQL IDEでクエリやミューテーションを行う前に、IDEに操作を許可する必要があります。
GraphQL IDEの正しいヘッダーを設定するには:
-
ブラウザでIDEをhttps://
/sitecore/api/authoring/graphql/ide/開いてください。 -
IDEの左下ペインのHTTPヘッダー タブで、以下のフォーマットで認可ヘッダーを追加してください:
{ "Authorization": "Bearer
" } のプレースホルダーをコピーした値に置き換えてください。 -
IDEのエンドポイントフィールド( 履歴 タブの右側)で、エンドポイントがhttps://
/sitecore/api/authoring/graphql/v1/であることを確認します。 -
セットアップをクエリで確認してください。例えば:
query { sites { name } }
設定が正しければ、回答にはあなたのウェブサイトのリストが含まれています。例えば:
{ "data": { "sites": { "name": "Winter Wonderland" }, { "name": "website" }
} }
HTTPリクエストを認可する
Authoring and Management APIエンドポイントに対するHTTPリクエストには認可が必要です。
HTTPリクエストを承認するには:
-
Bearer認証方式にHTTP Authorizationヘッダーを含めてください。
のプレースホルダーをアクセストークンの値に置き換えます。例えば: { headers: { "Authorization": "Bearer
" } }