ユーザトークンの取得

このガイドでは、アプリケーションからユーザトークンを取得する方法を説明します。 まず、アプリケーションがユーザトークン取得するための事前準備を紹介します。 その後、以下の条件設定で実際のフローを紹介します。
  • developerAは、セラーがeBayに出品できるMagicListerをアプリケーションを提供
  • sellerAは、MagicListerを利用して商品をeBayに登録
ユーザトークンを取得する際、アプリケーションは数回APIコールを呼び出します。実際のAPIコールについては、Trading APIを参照ください。

始める前に

このガイドでは、サンドボックス環境とSoapUIなどAPIツールを利用します。 SoapUIでTrading APIをご利用する説明は、こちらのブログエントリーを参照下さい。 始める前に、以下の準備を済ましている必要があります(詳細は導入ガイドを参照ください)。
  • デベロッパーアカウントの取得
  • サンドボックスユーザを作成(ここでは、sellerAに該当)。
  • eBayにリクエスト送信及びeBayからレスポンスを受け取ることができるウェブアプリケーション

トークンを受け取るための設定

アプリケーションがトークンを受け取るには、デベロッパーアカウントの”My Account”ページから
  • listingAppの利用登録ができるように、同意フォームを設定
  • ユーザトークン取得時に必要な”RuName”を生成
を事前に行う必要があります。 そのための手順を、順番に説明していきます。
  1. eBay developer programにログインし、My Accountにアクセス。
  2. “application settings”タブを選び、以下の操作をします。
    • Selects an environment: サンドボックス又はプロダクション環境を選びます。ここでは、サンドボックスを選びます。
    • Selects a key set: listingAppで使うキーセットを選びます。
    Application Settings
  3. “Customize the eBay User Consent Form”の下にある”Customize the eBay User Consent Form”リンクをクリックし、利用同意フォームを設定します。
    • Show Application Detail: 利用同意フォームにアプリケーションのロゴ、URL、概要を表示するかどうかを選びます。
    • Application URL: 利用同意フォームに表示するURLを入力します。アプリケーションの説明や関連情報が載っているページが適切です。
    • Application Logo: 表示するロゴ画像のURL。
    ロゴ画像のフォーマットは、JPG,GIF,PNG,BMP,TIFで、最大ファイルサイズは7MBまでが利用可能です。最大長が1000px以上の画像を使うことをお勧めしています。 このガイドでは、アプリケーション詳細表示をオンにし、URL、ロゴ画像を入力します。Application Settings
  4. “Manage Your RuNames”下の”Generate Runame”をクリックします。一分程度経つとページが更新され、RuName生成されたメッセージが表示されます。RuNameは、以下の設定が紐付けられます:
    • 利用同意画面で表示される内容
    • アプリケーションがユーザを認証しトークンを取得するルール
    • 利用同意したユーザを戻すAcceptURLなど、アプリケーションのURL
  5. “Manage Your RuNames”下の”Show Details”をクリックします。すると、アプリケーション利用同意に関する設定フォームが表示されます。
    • Display Title: 利用同意画面に表示する会社名又はアプリケーション名
    • Display Description: 利用同意画面に表示する説明
    • Token Return Method: “FetchToken”を選びます。アプリケーションはFetchTokenを使ってユーザトークンを取得します。
    • Authorization Type:
      • Authorization – アプリケーションがeBayユーザデータにアクセスする必要がある場合これを選びます。
      • IDVerification – アプリケーションがeBayユーザデータにアクセスする必要がなく、単にeBayユーザIDを認証したい場合はこれを選びます。ユーザ利用同意画面には、もっと簡素な注意文言が表示されます。 注意: ユーザID確認を完了するために、アプリケーションはConfirmIdentity APIコールを呼び出す必要があります。トークンは利用しないので、FetchTokenを呼び出す必要はありません。
    • Application Type: Webアプリケーションかデスクトップアプリケーションかを選びます。このガイドでは、Webアプリケーションを選びます。
    • Accept Redirect URL: 利用同意後ユーザが転送されるアプリケーションURL。このURLは、SSLをサポートしたHTTPSプロトコルでなければなりません。 アプリケーションがWebページを提供出来る場合、用意したアプリケーションURLを設定すべきです。アプリケーションがこのURLを提供できない場合は、デフォルトで入力されているeBayで用意されたページがご利用可能です。
    • Reject Redirect URL: 利用を拒否したユーザが転送されるURL。 アプリケーションがWebページを提供出来る場合、用意したアプリケーションURLを設定すべきです。アプリケーションがこのURLを提供できない場合は、デフォルトで入力されているeBayで用意されたページがご利用可能です。
    • PrivacyPolicyURL: アプリケーションのプライバシー・ポリシーを掲載しているページURL。
    Manage RuName
  6. 必要情報を入力したら”Save Settings”をクリックします。

ユーザトークンの取得

  • sellerAがアプリケーションとeBayサイトにアクセスし、アプリケーションに対して権限を付与する
  • listingAppアプリケーションがユーザトークンを取得する
上の前提で、ユーザトークンを取得する流れを次のようになります。
  1. sellerAは、MagicListerにアクセスし、登録ボタンを押すなどでアプリケーションを利用開始を意思表示します。
  2. MagicListerは、登録したRunameを入れてGetSessionID APIコールを呼び出します。APIコールで、eBayログイン後に後でsellerAを特定するために使われるSessionIDが得られます。 GetSessionIDのサンプルはこちらを参照してください。
  3. MagicListerは、SessionIDをURLエンコードし、SessionIDとRuNameが入ったURLを生成します。生成したURLをeBayログイン先としてsellerAに提供します。ここでは、GetSessionIDをSoapUIなどAPIツールで呼び出しSessionIDを取得します。その後、以下のようなURLをブラウザのアドレスに貼り付けます(YourRuNameHere に登録したRuname、YourSessionIDHere に取得したSessionIDを入れる)。https://signin.sandbox.ebay.com/ws/eBayISAPI.dll?SignIn&RuName=YourRuNameHere&SessID=YourSessionIDHere
  4. sellerAは、eBayにログインします。eBay Sign In
  5. eBayは、sellerAMagicListerの利用同意画面を表示します。Grant Application
  6. sellerAが”I agree”をクリックした場合、eBayはMagicListerのAcceptURLに転送します。
  7. sellerAがAcceptURLにアクセスしたとき、MagicListerはeBayにFetchTokenリクエストをSessionIDを含めて送信します。 FetchTokenのサンプルは こちらを参照してください。
  8. FetchTokenレスポンスに、MagicListerで利用可能なsellerAのユーザトークンが得られます。MagicListerは、ユーザトークンを有効期限と一緒に保存します。
  9. MagicListerは、SoapUIなどAPIツールにて得られたトークンでGeteBayOfficialTimeを呼び出し、正常なレスポンスを確認します。