スーパーバッジ以外のトレイルヘッド 課題攻略

認定上級Platformデベロッパーに必要なスーパーバッジの攻略方法についてはお伝えしました。
スーパーバッジ前の課題でも、いつくかハマりポイントがあったので、いくつか纏めたものを記載します。

スポンサーリンク

Lightning プラットフォーム API の基礎

このモジュールでは、Salesforceが提供するAPIを使用して外部からAPI経由でデータ操作を行う方法について学ぶ項となっております。
ちなみに、以前は「APIの基礎」という名前だった気がしますが、名前が変わったんですね。

ここでの内容は基礎だけあって、難易度は難しくないんですが、ハンズオンでの確認が結構面倒だった記憶があるので、確認方法を今一度整理してみることにします。

REST APIの利用

ここでは、REST APIを使用してデータアクセスを行う方法が記載されています。
ハンズオンチャレンジでは、REST APIからAccountのレコードを作るのが課題となっています。
手順にしたがって、ワークベンチからREST APIを実行すればチャレンジOKです。

が、今から話すことは裏口的な邪道なやり方になります。
きっちり学習したい方は読み飛ばしてもらって結構です。

REST APIからAccountのレコードを作るのが正攻法ですが、作成されたレコードがREST APIから作られたものかどうかを判断するのが不可能なんですよね

では、トレイルヘッドではどうやって合否判定を出しているか?
正確な答えは分かりませんが、以下の2つを満たせばどうやらクリアになるようです。

  • nameが”Blackbeards Grog Emporium”、descriptionが”The finest grog in the seven seas.”のAccountが作成されている
  • Workbenchにログイン履歴がある

1つ目は問題文の指示なので、そのまま従うとしましょう。
2つ目の方はWorkbenchのREST APIから作りなさいという指示があるので、Workbenchから作ったものかどうかをログイン履歴でしか判断するものがないんですね。

もちろん、Workbenchにログインしたからといって、REST APIを使用するとは限りません。
これを知っていれば、Salesforceから新規でレコードを作成した後にWorkbenchにログインすればREST APIを使用せずともチャレンジOKとなります。

メタ視点ですが、邪道ですよね。。。
逆に言うと、Workbench以外の手段で、REST APIを使用してAccountを作成しても多分チャレンジ失敗になると思います(試してはいませんが)。

SOAP APIの利用

テスト自体は、REST APIの時と同じようにSOAP APIからAccountの作成になります。
こちらも判定材料として、SOAP APIからのログイン証跡を残さないといけないので、SoapUIを使ってログインをする必要があります。

でも、Workbenchはサーバなのに対し、こちらはSoapUIを使用したログイン履歴を残さないといけないので、環境作りが必要になる分、ちょっと面倒です。
インストール方法からログイン方法までは、文中に手順が載ってあるので、面倒がらずに全部読んで手順通りに実施しましょう。

ざっくり手順をいうと以下の通りです。

    1. ハンズオンの組織環境のパスワードリセット(ユーザ名、パスワードが入力できる状態にしておく)
    2. ハンズオンの組織環境のセキュリティトークンをリセット
    3. ハンズオンの組織環境からwsdlファイル取得、ローカルに保存
    4. SoapUIのインストール(個人情報の登録が必要になります)
    5. インストール後、File→New Projectを選択
    6. 画面のように入力しOK

SOAP APIの利用にはWSDLが必要

    1. loginを開いて、パラメータを以下のように変更

SOAP APIのログインメソッドの設定

  1. Sendでログイン

ログインができれば、取引先はSOAPから作成しなくても問題ありません。
(勉強のためには、SOAPから作成したほうがいいかな)

BULK APIの利用

これも、REST APIと同じく、

  • 取引先レコードが作成されている(名前、説明が一致)
  • Workbenchにログイン済みであること(Workbenchからのログイン履歴が残っている)

の2点でOKです。
該当レコードは多いのですが、Insertの過程については特に問われないみたいです。

一応、WorkBenchからBULKを使用という指定があるので、BULKを使った証として、Workbenchからのログイン履歴をチェックしているようです。

こちらは SOAP APIとしてのログインが必要なので、SOAP UIからでなくても大丈夫だと思います。
JavaやPHPとか使える人であれば、そちらでSOAP APIを組んじゃった方が早いかもしれません。

Lightning コンポーネントの基本

BLightning コンポーネントの作成および編集

ここ、ちょっとハマりました。
Lightningコンポーネントは指示どおり作成すればOKですが、問題文をよく見ると、

Create a campingList component that contains an ordered list of camping supplies that include Bug Spray, Bear Repellant, and Goat Food.

とあり、ordered listつまり順序付きリストを使用してリスト表示する必要があります。

そのため、順序付きリストを表示するHTML

<ol>
<li>Bug Spray</li>
<li>Bear Repellant</li>
<li>Goat Food</li>
</ol>

これをcampingList.cmpに入れる必要があります。

コメント