eBayのAPIを利用して商品情報を取得し、Googleスプレッドシートに入力するためのシステムを構築するには

eBayのAPIを利用して商品情報を取得し、Googleスプレッドシートに入力するためのシステムを構築するには、以下のステップが必要です。


1. eBay APIの登録と取得

    eBay Developer Programに登録し、App IDを取得します。

    必要なAPIの認証情報(App ID、Dev ID、Cert ID)を取得します。


2. eBay APIの呼び出し

    商品情報を取得するために、eBay Finding APIやShopping APIを使用します。


3. Google Apps Scriptでの実装

    Google Apps Scriptを使用して、eBay APIからデータを取得し、スプレッドシートに書き込むスクリプトを作成します。


4. API呼び出し制限の対策

    APIの呼び出し回数制限に注意し、必要に応じて呼び出し頻度を調整するロジックを追加します。


以下に、基本的なGoogle Apps Scriptのサンプルコードを示します。このコードは、eBay APIを呼び出して商品情報を取得し、スプレッドシートに書き込むものです。


 スプレッドシートのセットアップ


1. Googleスプレッドシートを作成し、商品IDを入力する列を作成します。

2. Google Apps Scriptエディタを開きます(「拡張機能」→「Apps Script」)。


 Google Apps Scriptのコード


次のコードをGoogle Apps Scriptエディタに貼り付け、適宜修正してください。(javascript)



const EBAY_APP_ID = 'YOUR_EBAY_APP_ID'; // eBayのApp IDをここに入力


function getEbayItemInfo(itemId) {

  const endpoint = `https://open.api.ebay.com/shopping?callname=GetSingleItem&responseencoding=JSON&appid=${EBAY_APP_ID}&siteid=0&version=967&ItemID=${itemId}&IncludeWatchCount=true`;

  const response = UrlFetchApp.fetch(endpoint);

  const data = JSON.parse(response.getContentText());

  return data;

}


function updateSpreadsheet() {

  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

  const lastRow = sheet.getLastRow();

  const itemIds = sheet.getRange(`A2:A${lastRow}`).getValues(); // 商品IDの範囲を指定


  for (let i = 0; i < itemIds.length; i++) {

    const itemId = itemIds[i][0];

    if (itemId) {

      const itemInfo = getEbayItemInfo(itemId);

      if (itemInfo.Ack === "Success") {

        const item = itemInfo.Item;

        const title = item.Title || '';

        const viewCount = item.HitCount || 0;

        const watchCount = item.WatchCount || 0;

        const isEnded = item.ListingStatus === 'Completed' ? 'Yes' : 'No';


        sheet.getRange(`B${i + 2}`).setValue(title);

        sheet.getRange(`C${i + 2}`).setValue(viewCount);

        sheet.getRange(`D${i + 2}`).setValue(watchCount);

        sheet.getRange(`E${i + 2}`).setValue(isEnded);

      } else {

        Logger.log(`Failed to fetch data for item ID: ${itemId}`);

      }

    }

  }

}


function testUpdateSpreadsheet() {

  updateSpreadsheet();

}



 実行方法


1. `YOUR_EBAY_APP_ID` を自分のeBay App IDに置き換えます。

2. `testUpdateSpreadsheet`関数を実行して、スプレッドシートにデータが入力されることを確認します。


 API呼び出し制限対策


Google Apps Scriptの実行時間やAPI呼び出し回数に制限がありますので、次のような対策を検討してください。


 1回の実行で処理する商品IDの数を制限する。

 複数日に分けて実行する。

 `Utilities.sleep(milliseconds)`を使用して呼び出し間隔を調整する。


ここから先は

1,163字

¥ 1,500

期間限定 PayPay支払いすると抽選でお得に!

この記事が気に入ったらサポートをしてみませんか?