1. 汎用コネクタ

YouTube の統合

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

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

YouTube は、Google に次ぐ世界第 2 位の検索エンジンです。実際の製品やサービスの内容を確認するために、多くのハウツー動画やレビューが検索されています。webMethods.io を介して YouTube を Sitecore Content Hub と統合することにより、承認済みの最終的な動画コンテンツのアップロードが簡単になります。

Sitecore YouTube と webMethods のロゴ

webMethods.io を介して Sitecore Content HubYouTube と統合することにより、ユーザーは自分の動画コンテンツを簡単に YouTube にアップロードできます。この YouTube との統合により、クラウドから直接動画コンテンツをストリーミングするための帯域幅コストが削減されます。

注意

このコネクタは、Sitecore Content Hub と外部システム (YouTube など) を接続する一般的なコネクタの代表例として取り上げています。開発者が独自のカスタム コネクタを作成する方法を十分に理解できるようにすることを目的としています。

警告

このコネクタは、説明のみを目的としています。すべてのバージョンの Sitecore Content Hub でサポートされるわけではありません。

webMethods.io

webMethods.io は、iPaaS、ハイブリッド統合、API、B2B、クラウド統合、およびオンプレミス統合製品との統合における市場リーダーであり、そのエキスパートとして認められています。

webMethods のロールの図

次の例では、タイプソーシャル メディアに変更した場合に、動画アセットが YouTube にアップロードされます。ソーシャル メディアは、ユーザーが作成したタイプ プロパティの値です。

トリガーの設定

[管理] ページに移動し、[トリガー] までスクロールします。

[管理] に表示される [トリガー]

[トリガー] ページが開き、トリガーの概要が表示されます。トリガーの概要ページで 新しいトリガー ボタン ボタンをクリックします。

トリガーの概要

一般設定

新しいトリガーの [一般] タブで、次の詳細をフォームに入力します。

  • 名前は必須のテキスト フィールドです。

  • 説明はオプションのテキスト フィールドです。

  • 目的では、トリガーが起動するエンティティ イベントを次の 3 つから選択できます。

    • エンティティの作成
    • エンティティの変更
    • エンティティの削除
  • 実行タイプ:

    • 処理中
    • バックグラウンド処理中

    この例では、トリガーはバックグラウンド処理中で実行されます。

新しいトリガーの一般設定

必要な詳細を入力したら、[条件] タブをクリックします。

一般設定に表示される [条件] タブのオプション

条件

[条件] タブでは、トリガーに使用するエンティティ定義を選択する必要があります。

[定義を追加] ボタンをクリックします。

[定義を追加] ボタン

返されたリストで必要な定義を検索して選択します。この例では、必要な定義は アセット (M.Asset) です。

必要な定義を検索して選択

定義を入力したら、  条件追加ボタン をクリックすると条件を設定できます。

選択した定義に条件を追加

クリックして条件を追加した後は、次の操作を行います。

  • 条件の対象となるエンティティのプロパティを選択します。この例では、アセット メディア (AssetMediaToAsset) プロパティと タイプ (AssetTypeToAsset) プロパティを使用して、2 つの条件が作成されます。

  • 値または状態を、次のドロップダウン メニューから選択する必要があります。

    条件の値または状態

    この例では、両方の条件に current value が選択されます。

  • 条件に利用可能な句/演算子は次のとおりです。この例では、両方の条件で contains 句を使用します。

    句または演算子のオプション
  • 条件の対象は、エンティティ プロパティの値から選択できます。この例では、アセット メディアの値として Mp4タイプの値としてソーシャル メディア が選択されています。

条件の追加

条件を挿入したら、[アクション] タブをクリックします。

入力された [条件] タブ

アクション

[アクション] タブで [アクションを管理] ボタンをクリックします。

[アクションを管理] ボタン

既存のアクションを一覧表示する新しいモーダルで、[新しいアクション] ボタンをクリックします。

新しいアクション モーダル

新しいモーダル フォームが開き、そこに新しいアクションの詳細を入力します。

  • 名前は必須のテキスト フィールドです。
  • ラベルはオプションのテキスト フィールドです。
  • アクション タイプは、次の値を含むドロップダウン オプションです。

    • アクション スクリプト
    • API 呼び出し
    • Azure Event Hub
    • Azure Service Bus
    • M Azure Service Bus
    • 出力エンティティ生成
    • レポート チャネル
    • ステート マシン開始

    これは YouTube API との統合であるため、アクション タイプは [API 呼び出し] です。

新しいモーダル フォーム

[API 呼び出し] アクション タイプを選択すると、フォームが変更され、新しいフィールドが表示されます。

API 呼び出しアクション タイプのフォームが変更される
  • メソッドには次の選択肢があります。

    • POST

    • PUT

    • GET

    この例では、POST メソッドが使用されます。

  • [API URL] には、webMethods.io ワークフローWebhook を作成するときに必要な API が表示されます。この URL は、ワークフローが作成されると使用可能になります。Webhook については、次のセクションで詳しく説明します。

  • [タイムアウト] は、API 呼び出しについて設定できます。この時間が経過しても応答が返されない場合、呼び出しは失敗します。タイムアウト値の単位は秒です。

    画像

新しいアクションに必要な値を入力し、webMethods.io の Webhook の設定を利用して URL を作成します。

新しいアクションの作成

webMethods の設定

webMethods.io でワークフローを作成することにより、統合タスクを自動化できます。

最初のワークフローの作成

  1. 新しいプロジェクトを追加 を使用してプロジェクトを選択または追加します。

  2. 新しいプロジェクトの名前を入力します。

    新しいプロジェクト名の追加
  3. 新しいワークフローを作成するには、 新しいワークフロー ボタンをクリックします。

  4. ワークフロー オプションで、 [新しいワークフローを作成] ボタン ボタンをクリックします。

    [新しいワークフローを作成] ボタン
  5. ワークフローで、ワークフローの開始点の上部をクリックし、設定アイコンを選択します。

    ワークフローの開始点の設定
  6. トリガー モーダルで、Webhook オプションを選択します。

    トリガー モーダルの Webhook
  7. Webhook で、コピー アイコンを使用して URL をコピーします。

    Webhook URL
  8. 完全なプロセスは次のとおりです。

    完全な Webhook プロセスの URL

    次に、アクションに戻り、Webhook からコピーした URL を貼り付けます。

    [保存] ボタン ボタンを使用して、新しいアクションを保存します。

  9. 新しく作成したアクションは、[アクションの投稿] の下にある [アクションを追加] ボタンを使用するとトリガーに追加できます。

    [アクションの投稿] でのアクションの追加
  10. これで、トリガーを保存できます。[保存] ボタンまたは [保存して閉じる] ボタンの 1 つをクリックします。

  11. トリガーを終了する前に、トリガーをアクティブにします。

    トリガーをアクティブにするボタン

アクションを追加してトリガーをアクティブにする完全なプロセスは次のとおりです。

アクションを追加してトリガーをアクティブにするプロセス

その後、このアクションの既定のヘッダーがアクションに引き込まれます。

Webhook の設定

この例では、Sitecore Content Hub エンティティの変更によって、アクションがトリガーされます。ここでのアクションは、webMethods.io によって公開された Webhook エンドポイントへの API 呼び出しです。

ワークフローで、ワークフローの開始点の上部をクリックし、設定アイコン ワークフローの開始点の設定 を選択します。

Webhook ペイロードをアクティブにします。

Webhook ペイロードをアクティブにする

Webhook ペイロードの本文にペイロードを入力します。最も基本的なペイロードは次のとおりです。

{ "saveEntityMessage": { "TargetId": XXXXX} }

この例では: {{ "saveEntityMessage": {{ "TargetId": 13522}} }}

エンティティ ID

TargetId にはアップロードするアセットのエンティティ ID を指定します。

Webhook ペイロードの本文

[次へ] をクリックします。

[次へ] をクリック

ペイロードが表示されます。正しい場合は、[完了] をクリックします。

[完了] をクリック

Webhook の完全な設定は次のとおりです。

Webhook 設定プロセス

HTTP 要求

webMethods では、Content Hub に HTTP 要求を送信することで、エンティティに関する追加情報を要求します。要求の URL は次のとおりです。{contentHubEndpoint}/api/entities/{TargetId}

例: https://sitecoreInstance.com/api/entities/11915

Sitecore Content Hub は、エンティティの詳細を JSON 形式で返すことによって、この要求に応答します (例: EntityResponse.json)。

JSON ファイルには、ダウンロードと保存に必要な関連エンティティ情報 (URLfilename) が含まれています。

HTTP 要求を作成するには、HTTP 要求コンポーネントを検索し、このコンポーネントをワークフローに引き込みます。

HTTP 要求コンポーネント

新しい HTTP 要求は、以前に作成された Webhook 設定と自動でリンクします。

HTTP 要求コンポーネントの左上にある設定アイコン HTTP 要求設定 をクリックします。

HTTP 要求の設定

新しいモーダルが開き、HTTP 要求にカスタム名を付けることができます。

HTTP 要求名

次のモーダルでは、HTTP 要求のアクションを Webhook からの着信データで設定できます。

HTTP 要求設定

Sitecore Content Hub インスタンスの URL を、フォームの [アクション設定] 側の [URL] フィールドに入力します。

[URL] フィールド

[着信データ] 側の [$ request-Webhook] フィールドをクリックし、下向きの矢印でこのフィールドを拡張してサブ値を表示させます。

request webhook フォルダー

再度 [着信データ] 側で [本文] フィールドをクリックし、下向きの矢印でフィールドを拡張してサブ値を表示させます。

着信データの [本文] フィールド

拡張した [本文] フィールドの下で [SaveEntityMessage] を拡張すると、[TargetId] が表示されます。TargetId は Webhook から生成されます。

ターゲットの HTTP 要求

[TargetId] をクリックすると、このターゲット ID は、以前に [アクションの設定] フィールドに含まれていた URL に追加されます。

URL に追加されたターゲットの要求 ID

[アクションの設定] セクションの [ヘッダー] フィールドの下にある ヘッダー ボタン ボタンをクリックします。

アクションの設定のヘッダー

ヘッダー オブジェクトに必要な値は、キーと値のペアです。

ヘッダー オブジェクト

キーX-Auth-Token です。

[] は、Sitecore Content Hub で生成された API トークンです。

トークン値

HTTP 要求で使用するトークンを作成し、[管理] の下の [ユーザー] に移動します。

統合を構築しているスーパーユーザーで、キー アイコンをクリックします。

[作成] ボタンをクリックして API トークンを生成し、新しいトークンが作成されたら、[トークンのコピー] をクリックします。

トークンの生成

トークンがヘッダーに挿入されたら、HTTP 要求プロセスは完了です。

http 要求プロセスの完了

次に、HTTP 要求をテストして、値が正しいことを確認できます。[テスト] ボタンをクリックすると、HTTP 要求の成功または失敗を示す statusCode が返されます。

HTTP 要求のテスト

ダウンロード

webMethods.io がワークフローのファイルのダウンロード部分を実行します。動画ファイルは、HTTP 要求ワークフロー コンポーネントから抽出された URL を使用してダウンロードされます。動画ファイルは、HTTP 要求の応答から取得したファイル名を使用して、webMethods.io ワークフロー ストレージにローカルに保存されます。

ファイルのダウンロード コンポーネントを検索し、このコンポーネントをワークフローにドラッグします。

コンポーネントをワークフローに組み込んだら、左上の設定オプション コンポーネントのダウンロード をクリックします。

カスタム名を入力できます。[次へ] をクリックします。

ワークフローのコンポーネントのダウンロード

[URL を追加] フィールドをクリックし、[着信データ] セクションの [HTTP 要求] を拡張して、[responseObject] を表示させます。

[レンディション] フィールドを拡張し、[downloadOriginal] フィールドを拡張してから、[href] を選択し、[URL を追加] フィールドを完成させます。

href を URL として含める

URL を追加したら、[プロパティ] オブジェクトまでスクロールして戻り、[着信データ] の [filename] を選択して [アクションの設定] の [ファイル名] に設定します。

filename プロパティ

[次へ] をクリックします。

次に、ファイルのダウンロード コンポーネントを [テスト] ボタンを使用してテストできます。

コンポーネントのダウンロードのテスト

ファイルのアップロード

出力にダウンロードの正しいオリジナル URL、正しいファイル名ファイルパス (動画ファイルは、抽出されたファイル名を使用して、webMethods.io ワークフロー ストレージにローカルに保存されます) が含まれている場合、[完了] をクリックします。これで、ファイルのダウンロード ワークフロー コンポーネントからダウンロードしたファイルが、YouTube にアップロードされました。ファイル名とファイルパスは、ファイルのダウンロード ワークフロー コンポーネントの出力から抽出されます。

アップロードには、ターゲットの YouTube アカウントに関連付けられている OAuth トークンが必要です。これらは、webMethods.io でワークフローを設定する前に、個別に取得する必要があります。詳細については、https://developers.google.com/identity/protocols/OAuth2WebServer を参照してください。

YouTube コンポーネントを検索し、このコンポーネントを webMethods.io ワークフローにドラッグします。

ワークフローに組み込まれている YouTube コンポーネント

YouTube コンポーネントをワークフローに組み込んだら、コンポーネントの設定オプション YouTube コンポーネントの設定 を選択します。

新しいモーダルで、[YouTube の承認] フィールドの横に表示される プラス ボタン をクリックし、YouTube アカウントの詳細を定義するフィールドを表示させます。

YouTube 設定

Google API アカウントの詳細と、必要な [アクセス] トークンと [リフレッシュ] トークンをフォームに入力します。詳細については、https://developers.google.com/identity/protocols/OAuth2WebServer を参照してください。

使用する [リフレッシュ URL] は、https://www.webmethods.io です。

[認証付与タイプ] は authorization_code です。

詳細を挿入したら、[保存] をクリックします。

YouTube アカウントの入力

新しいモーダルで、[着信データ] セクションの [ファイルのダウンロード] を拡張します。

  • [ファイルパス] を [アクションの設定] セクションの [ソース ファイル パス] フィールドにリンクします。

  • [ファイル名] を [アクションの設定] セクションの [タイトル] フィールドにリンクします。

  • [ファイル名] を [アクションの設定] セクションの [説明] フィールドにリンクします。

着信データの設定

完了したら、[次へ] をクリックします。

次に、YouTube コンポーネントの設定をテストできます。

出力に問題がなければ、[完了] をクリックします。

YouTube のテスト

YouTube コンポーネントを保存すると、 停止ボタンのワークフロー につなげられます。

YouTube をつなげて、ワークフローを保存する

この例では、動画アセットは、Sitecore Content Hub に [ソーシャル メディア] の [タイプ] を含むように変更されています。この変更により、Sitecore Content Hub でトリガーが起動し、webMethods.io ワークフローの Webhook がアクティブになります。このワークフローは、Sitecore Content Hub から動画をダウンロードし、動画を YouTube にアップロードします。

エンティティの変更と、YouTube Studio の更新
注意

Sitecore Content Hub 内のメタデータ フィールドを、YouTube の [タイトル]、[説明]、および [タグ] フィールドに使用できます。これによりユーザーは、SEO に最適化されたコンテンツを提供して、自分の動画が確実に見つかるようにすることができます。

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