ブラウザでWeb APIをテストする方法

ブラウザでWeb APIをテストする方法

はじめに

Web APIを試したいと思ったとき、皆さんはどのようなツールを利用しますか?有名なツールとしてPostmanがありますが、今回はブラウザの拡張機能を使い、アカウント登録も必要なく手軽に試せる方法をご紹介します。ぜひAPIでSendGridのメール送信をテストする際の参考にしてください。

Google Chrome拡張機能「Talend API Tester」

今回使うのは「Talend API Tester」というGoogle Chromeの拡張機能です。Google Chromeを立ち上げたら、こちらのページから追加可能です。追加するとアドレスバーの右に拡張機能のボタンが表示されるので、クリックして下のような画面に移動します。この画面上で必要な項目を入力し、SendボタンをクリックするだけでAPIリクエストができます。

Google Chrome拡張機能「Talend API Tester」

一般的に、APIでリクエストを行うには以下の情報が必要です。

  1. メソッド
    実行したい処理の種類を指定します。GET、POSTなどがHTTPの仕様として定義されています。
  2. URL
    そのAPIがWeb上のどこにあるかを指定します。
  3. ボディ
    実行したい処理に関する具体的な情報を指定します。APIによっては指定の必要がない場合もあります。
  4. ヘッダ
    ボディの他に必要となる付加的な情報(メタデータ)を指定します。

APIを提供するサービスは通常、「APIリファレンス」を公開しています。APIリファレンスとは、上で述べたメソッド、URL、ボディ、ヘッダの指定方法を記した、いわばAPIの取扱説明書です。次章ではSendGridのAPIリファレンスを参照しながら、メール送信API(v3 Mail Send API)を試していきます。

SendGridのWeb APIでメールを送信する

事前準備

APIを試す前に、少し準備が必要です。
Web APIでリクエストを実行する際には、認証(=あなたがあなたであることの確認)を行います。アカウントを持っていない人が自由にWeb APIを使うことはできません。まずは、無料アカウント登録を行いましょう。

SendGridのWeb APIでは、ダッシュボードで発行できる「APIキー」を認証情報として用います。アカウントにログインできたら、APIキーを発行しましょう。手順はこちらのページを参照してください。発行したAPIキーは後で使うので、コピーしてどこかに保存しておきます。

リクエスト内容の構築

いよいよAPIを試します。メール送信APIに関する情報はこちらのAPIリファレンスページにあります。記載に従って、Talend API Testerの画面上でリクエストを構成していきます。

メソッドとURL

メソッドはPOST、URLはhttps://api.sendgrid.com/v3/mail/sendです。画面上のSendボタンの左のテキストボックスでこれらを指定します(下の図を参考にしてください)。

ヘッダ

SendGridのWeb APIの場合、以下の2つのヘッダを設定する必要があります。

  1. Content-Typeヘッダ:「application/json」を指定します。
  2. Authorizationヘッダ:”Bearer “という文字列に続いて先ほど発行したAPIキーを指定します。

画面上の「HEADERS」に、コロン「:」で挟まれた2つのテキストボックスが並んでいます。「Content-Type:application/json」、「Authorization:Bearer <APIキー>」となるように入力しましょう。APIキーの文字列が「SG.XXXXX」の場合、Authorizationヘッダには「Bearer SG.XXXXX」を指定します。Bearerの後ろに半角スペースが必要です。

ボディ

APIリファレンスの「Requst Body」の内容をコピーして、Talend API Testerの「BODY」欄にペーストします。

{
  "personalizations": [
    {
      "to": [
        {
          "email": "john@example.com"
        }
      ],
      "subject": "Hello, World!"
    }
  ],
  "from": {
    "email": "from_address@example.com"
  },
  "content": [
    {
      "type": "text/plain",
      "value": "Hello, World!"
    }
  ]
}

この例では宛先にjohn@example.com、送信元にfrom_address@example.comが指定されています。宛先はメール受信が確認できるアドレスに書き換えましょう。

リクエスト内容の構築

リクエストの送信と結果の確認

ここまでできたら、SendボタンをクリックしてAPIリクエストを実行します。実行画面のリクエストの下にある「Response」欄にサーバからの応答が記載されます。「202 Accepted」が表示されたら、メール送信のAPIリクエストがSendGridに受け付けられたことを意味します。これでAPIリクエストは完了です!宛先に指定したアドレスのメールボックスを確認して、メールが届いていることを確認しましょう。

リクエストの送信と結果の確認

ブラウザ上で必要な情報を入力するだけで、手軽にAPIを実行することができました。皆さんもぜひAPIをテストする手段として活用してみてはいかがでしょうか?

補足:よくあるミス

「202 Accepted」以外が表示されたら、リクエストの指定に間違いがあった可能性があります。その場合、レスポンスのボディにその詳細が記されます。以下でいくつか例を紹介します。

415 Unsupported Media Type

「BODY」欄を見ると、”Content-Type should be application/json.”とあります。Content-Typeヘッダに正しく「application/json」が指定されていることを確認してください。

415 Unsupported Media Type

401 Unauthorized

“Permission denied, wrong credentials”とあります。認証情報が間違っているようです。Authorizationヘッダには「Bearer SG.XXXXX」と正しく記載されていますか?

401 Unauthorized

400 Bad Request

“The to array is required for all personalization objects, and must have at least one email object with a valid email address.”とあります。宛先(To)は指定されているでしょうか。そしてそれはメールアドレスとして正しいフォーマットでしょうか?

400 Bad Request

このように、サーバから返されたエラーメッセージを読むことで原因を推定することができます。返却されるエラーメッセージの例はこちらのページをご覧ください。

メールを成功の原動力に

開発者にもマーケターにも信頼されているメールサービスを利用して、
時間の節約、スケーラビリティ、メール配信に関する専門知識を手に入れましょう。