1. Sitecore Authoringと経営GraphQL API

ウォークスルー:Authoring and Management APIへのリクエストの有効化と承認

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

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

インタラクティブなブラウザベースのGraphQL IDEやHTTPリクエストを通じて、Authoringや管理APIを探索できます。

プログラム的に問い合わせGraphQL Authoring管理API、またはGraphQL IDEを利用するには承認が必要です。

このウォークスルーでは、以下の方法を説明します:

  • GraphQL IDEを有効にしてください。

  • アクセストークンを取得してください。

  • 追加のアクセストークン(任意)を取得してください。

  • GraphQL IDEを承認しろ。

  • HTTPリクエストを承認します。

注記

このウォークスルーは、PowerShell 7以降のコマンドを実行していることを前提としています。以前のバージョンではPowerShell curlコマンドを正しく解釈できず、ここで説明したようなエラーが発生することがあります。問題が発生した場合は、PowerShell 7以降を使用しているか、curl対応端末(Git BashやWSLなど)で直接コマンドを実行してください。

GraphQL IDEを有効にしてください

IDEを使うには、少なくともsitecore\Sitecore Client Usersの役割に就いている必要があります。

GraphQL IDEを使う前に、設定で有効にする必要があります。

GraphQL IDEを有効にするために:

  1. Deployでは、true値の環境変数をSitecore_GraphQL_ExposePlaygroundと名付けます。すでに存在している場合は、環境変数の値をtrueに更新してください。

    大事な

    GraphQL IDEを有効にするのは、非本番環境でのみ行うことを推奨します。

  2. 環境変数を発動させるには、環境を再デプロイしてください。

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

GraphQL IDEを承認するためにアクセストークンを取得する必要があります。またはAuthoringおよび管理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 '<authority-url>/oauth/token' --header 'Content-Type: application/x-www-form-urlencoded' --data-urlencode 'client_id=<your-client-id>' --data-urlencode 'client_secret=<your-client-secret>' --data-urlencode 'audience=<audience-url>' --data-urlencode 'grant_type=client_credentials'

    プレースホルダーは以下のように置き換えます:

    • <authority-url>- .sitecore/user.jsonファイルのendpoints.xmCloud.authority値。

    • <your-client-id>- .sitecore/user.jsonファイルのendpoints.xmCloud.clientId値。

    • <your-client-secret>- .sitecore/user.jsonファイルのendpoints.xmCloud.clientSecret値。

    • <audience-url>- .sitecore/user.jsonファイルのendpoints.xmCloud.audience値。

    成功した場合、応答はコンソールに印刷されます。

    {
      "access_token":"eyJhbGciOiJSUzI1NiIs...",
      "scope":"xmcloud.cm:admin",
      "expires_in":900,
      "token_type":"Bearer"
    }
  3. レスポンスから引用符なしのaccess_token値をコピーし、トークンを後で使うために保存してください。

大事な

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

GraphQL IDEを許可しろ

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

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

  1. OpenブラウザのIDE https://<your-server>/sitecore/api/authoring/graphql/ide/

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

    {
        "Authorization": "Bearer <access-token>"
    }

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

  3. IDEの端点フィールド( Historyタブの右側)で、端点がhttps://<your-instance>/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ヘッダーを含めてください。<access-token>のプレースホルダーをアクセストークンの値に置き換えます。例えば:

    {
        headers: [
            { "Authorization": "Bearer <access-token>" }
        ]
    }
この記事を改善するための提案がある場合は、 お知らせください!