ウォークスルー

日本語翻訳に関する免責事項

このページの翻訳は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を有効にするために:

  1. Deployでtrue値のSitecore_GraphQL_ExposePlaygroundという環境変数を作成します。すでに存在している場合は、環境変数の値をtrueに更新してください。
  2. 環境変数を発動させるには、環境を再デプロイしてください。

アクセストークンを取得する

GraphQL IDEを承認するためにアクセストークンを取得する必要があります。または、Authoring and Management APIエンドポイントに対して操作を行うにはHTTPリクエストを承認する必要があります。

アクセストークンを取得するには:

  1. Sitecore CLIの dotnet sitecore cloud login コマンドを実行し、プロンプトに従って環境にログインしてください。
  2. ログインすると、プロセスはアクセストークンを保存し、GraphQL IDEやHTTPリクエストに必要なAuthorizationヘッダーを設定するために使えます。 ./sitecore/user.json ファイルから accessToken プロパティの値をコピーし、後で使うために保存します。

追加のトークンや自動化クライアントが必要ない場合は、GraphQL IDEの承認を続けてください。

追加のアクセストークンを取得する(任意)

複数のトークンや自動化クライアントを使いたい場合、例えばHTTPリクエスト用とGraphQL IDE用など、追加のトークンを生成することも可能です。

!注XM Cloudは現在SitecoreAIです。エンジニアリング資産が更新されている間、一部のコード例、画像、UIラベルはXM Cloudを使用している場合があります。

追加のアクセストークンを取得するには:

  1. 環境に合った自動化クライアントを作成しましょう。デフォルトでは、権威URLはhttps://auth.sitecorecloud.io、オーディエンスURLはhttps://api.sitecorecloud.ioです。

  2. 以下のコマンドでベアラートークンをリクエストします:

    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" }

  3. レスポンスから引用符なしのaccess_token値をコピーし、トークンを後で使うために保存してください。

!重要回答の性質expires_inに注意を払ってください。これはJWTトークンの有効期限を示しています。それ以降はトークンが無効となり、新しいトークンを申請しなければなりません。

GraphQL IDEを許可しろ

GraphQL IDEでクエリやミューテーションを行う前に、IDEに操作を許可する必要があります。

GraphQL IDEの正しいヘッダーを設定するには:

  1. ブラウザでIDEをhttps:///sitecore/api/authoring/graphql/ide/開いてください。

  2. IDEの左下ペインのHTTPヘッダー タブで、以下のフォーマットで認可ヘッダーを追加してください:

    { "Authorization": "Bearer " }

    のプレースホルダーをコピーした値に置き換えてください。

  3. IDEのエンドポイントフィールド( 履歴 タブの右側)で、エンドポイントがhttps:///sitecore/api/authoring/graphql/v1/であることを確認します。

  4. セットアップをクエリで確認してください。例えば:

    query { sites { name } }

    設定が正しければ、回答にはあなたのウェブサイトのリストが含まれています。例えば:

    { "data": { "sites": { "name": "Winter Wonderland" }, { "name": "website" }

    } }

HTTPリクエストを認可する

Authoring and Management APIエンドポイントに対するHTTPリクエストには認可が必要です。

HTTPリクエストを承認するには:

  • Bearer認証方式にHTTP Authorizationヘッダーを含めてください。のプレースホルダーをアクセストークンの値に置き換えます。例えば:

    { headers: { "Authorization": "Bearer " }

    }

この記事を改善するための提案がある場合は、 お知らせください!