なかなか興味深い話題です。
名前付き認証情報/認証を使用してみました。認証目的のプロバイダー/外部認証情報ですが、SFMC はこれらの認証を好まないようです。そのため、アクセス トークンを生成する JSON 本文に必要なパラメーターを渡すカスタム認証で HTTP コールアウトを使用しました。
認証でアクセス トークンを渡す必要がありますが、フローのアクションにはそのためのオプションがありません。API リクエスト パラメーターで認証トークンを渡そうとしましたが、最終的にはエラー 401: 認証されていませんという結果になりました。
- 解答1
これは現時点では不可能です。それを行う唯一の方法は Apex です (やり方がわからないのでできませんでした)。
私は最終的に MuleSoft を使用して、カスタム オブジェクトとレコードにトークンを隠し、それを MuleSoft に渡してヘッダーとして渡すことができました。
+ 解答2
私も同じ問題に直面しました。これらの記事を見て、そこで見つけたアプローチを実装し、最終的にヘッダーで認証パラメーターを渡すことができました。以前は 401 応答が返されていましたが、今では 202 応答が返されます。おそらく、あなたのシナリオでは機能するでしょう。
- 解答3
これが役立つかどうかはわかりませんが、私も「Bearer」を使用しています。認証。この記事の手順に従いました。
ステップ 2 で説明したように、トークンを認証パラメーターとして追加しました。これは、「APIKey」に保持されている値です。変数。
「カスタムヘッダー」についてステップ 3 で説明したように、次のように実行しました。
Name: Authorization
Value: {!'Bearer ' & $Credential.ExternalCredentialAPIname.APIKey}
要約すると、記事の手順に従い、'Bearer' を追加してカスタム ヘッダー認証値を変更しただけです。文字列に。
この記事もご覧ください。この記事は、私が見つけなければならなかった解決策と、「Bearer」という単語の組み合わせに関して、私を正しい軌道に乗せてくれたものです。そしてトークン:
- 回答4
フロー HTTP コールアウト アクションの主な問題 (これも重大) は、動的ヘッダー値がサポートされていないことだと思います。たとえば、x-msg-key または x-amzn-trace-id です。この種のヘッダー値は、オンザフライで生成する必要があります。ただし、名前付き資格情報もフロー コールアウト アクションも、動的値をヘッダーにマージすることをサポートしていません。
そのため、高度なセキュリティ ポリシー (API 呼び出しのユーザーごとのアクセス トークンなど) を適用したり、各 HTTP 呼び出しでトレース ID を単に要求したりする組織の場合は、 Apex Callout を使用する以外に選択肢はありません。
資格付き認証情報に対して追加したカスタム ヘッダーが含まれていないことに気付きました。
それはなぜでしょうか?これが、ステータス 415 - リクエストでサポートされていないメディア タイプ エラーが表示される原因ではないかと思われます (フローが停止しないことに注意してください。デバッグ ログにエラーが表示されます)。
このエンドポイントには秘密キーやユーザー名/パスワード認証はありません。必要なのは、エンドポイント URL とパスに company_id=STRING URL パラメーターを追加することだけです。デバッグ ログでは、Flow を使用した HTTP コールアウト セットアップによって正常に構築されたことがわかります。
Postman では、company_id 値を使用してこのエンドポイントへの呼び出しをテストすることに成功しましたが、content-type、accept、revision ヘッダーを設定する必要がありました。これらを名前付き資格情報に対するカスタム ヘッダーとして追加し、以前に外部資格情報にも追加しようとしましたが、どちらも機能しませんでした。