ADVERTISEMENT

【Googleスプレッドシート】PayPalの売上データをインポート!REST API連携の手順

【Googleスプレッドシート】PayPalの売上データをインポート!REST API連携の手順
🛡️ 超解決

PayPalの売上データをスプレッドシートで管理したいと考えたことはありませんか。手動でCSVをダウンロードして貼り付ける作業は手間がかかります。REST APIを使えば、最新の売上データを自動でインポートできます。本記事では、PayPal REST APIとGoogleスプレッドシートを連携する具体的な手順を解説します。

【要点】PayPal REST API連携で売上データを自動インポート

  • PayPal DeveloperダッシュボードでREST APIアプリを作成: Client IDとSecretを取得してAPIの認証準備を整えます。
  • Google Apps ScriptでOAuth2認証ライブラリを導入: アクセストークンを自動更新し、スクリプトからPayPal APIを呼び出せるようにします。
  • スクリプトでTransactions APIを叩き、シートに出力: 売上明細をJSONからパースしてスプレッドシートの各列に割り当てます。

ADVERTISEMENT

PayPal REST API連携の概要と事前準備

PayPal REST APIは、HTTPリクエストで売上情報を取得できる公式の仕組みです。OAuth2プロトコルで認証を行い、アクセストークンを発行してからデータを取得します。連携には、PayPal Developerアカウントの作成とアプリケーションの登録が必要です。また、Googleスプレッドシートのスクリプトエディタ(Apps Script)を使用します。事前に、以下の準備を整えてください。

まず、PayPal Developerサイト(developer.paypal.com)にアクセスし、既存のアカウントでログインするか、新規登録してください。次に、ダッシュボードから「REST APIアプリ」を作成し、Client IDとSecretを取得します。これらの情報はスクリプト内で使用します。最後に、Googleスプレッドシートを開き、拡張機能メニューからApps Scriptエディタを開ける状態にしておきます。

PayPal API資格情報を取得する手順

  1. PayPal Developerサイトにログインする
    ブラウザで developer.paypal.com を開き、アカウントでログインします。マイアプリが表示されます。
  2. 新しいREST APIアプリを作成する
    ダッシュボードの「My Apps & Credentials」タブで「Create App」をクリックします。アプリ名を入力し、作成ボタンを押します。するとClient IDとSecretが表示されます。
  3. Client IDとSecretを安全に保存する
    表示されたClient IDとSecretをメモ帳にコピーします。Secretは一度しか表示されないので、必ず保存してください。この情報は後のスクリプトで使用します。

Google Apps Scriptで売上データを取得する手順

Googleスプレッドシートで売上データを取得するには、Apps Scriptにスクリプトを記述します。API呼び出しにはOAuth2認証が必要なため、OAuth2ライブラリを追加します。

OAuth2ライブラリをプロジェクトに追加する

  1. スクリプトエディタを開く
    スプレッドシートのメニューから「拡張機能」→「Apps Script」を選択します。スクリプトエディタが開きます。
  2. ライブラリを追加する
    スクリプトエディタの左側メニューで「ライブラリ」の「+」をクリックします。スクリプトID「1B7FSrk5Zi6L1rS1jjG6gF4Z3t0xJZ5s5p8P8f8Jh1E6p3s5y4x8z」を入力し、追加します。バージョンは「40」を選択して保存します。

スクリプトを記述して実行する

以下のスクリプト例を参考に、スクリプトエディタのコード.gsに記述してください。Client IDとSecretは先ほど取得した値に置き換えます。

  1. アクセストークンを取得する関数を作成する
    関数 getPayPalAccessToken を定義し、OAuth2ライブラリを使って認証します。スコープは「https://api.paypal.com/v1/payments/.*」を指定します。
  2. 売上データを取得する関数を作成する
    関数 fetchTransactions(startDate, endDate) を定義し、Transactions API(/v1/reporting/transactions)を呼び出します。取得したJSONをパースして、シートに出力します。
  3. スクリプトを実行して結果を確認する
    関数を選択し、実行ボタンをクリックします。初回は認証画面が表示されるので、許可してください。完了すると、アクティブなシートに売上データが書き込まれます。

ADVERTISEMENT

よくあるトラブルと対処法

アクセストークンの期限切れエラーが発生する

OAuth2ライブラリは自動更新をサポートしていますが、初回認証後に期限切れになると400エラーが出ます。その場合は、スクリプトの「OAuth2」メニューから「リセット」を実行して再認証してください。

APIのレート制限に引っかかる

PayPal APIには1分あたりのリクエスト制限があります。大量のデータを取得するときは、1秒間に1リクエスト程度に間隔を空けてください。スクリプト内で Utilities.sleep(1000) を使って制御します。

データ範囲が大きすぎてタイムアウトする

一度に1000件を超えるトランザクションを取得しようとすると、実行時間制限(6分)に達する場合があります。その場合は、ページネーション処理を実装して分割取得してください。APIのレスポンスに含まれる next_page_token を使って次のページを取得できます。

手動インポートとAPI連携の比較

項目 手動CSVインポート REST API連携
データ取得方法 PayPal管理画面からCSVをダウンロード スクリプトが自動でAPIを呼び出し
自動化の可否 不可、毎回手動操作が必要 タイマートリガーで定期実行可能
更新頻度 不定期、ユーザー次第 毎日/毎時など自由に設定
手間 ダウンロード、ファイル選択、貼り付けの手順 初期設定のみ、その後は自動
リアルタイム性 低、手動更新のタイムラグ 高、短い間隔で最新データを取得

REST API連携では、初期設定に少し時間がかかりますが、その後は完全に自動化できます。定期的に売上データを更新したい場合や、複数のアカウントを管理する場合に特に有効です。

本記事では、PayPal REST APIを使って売上データをGoogleスプレッドシートにインポートする手順を解説しました。PayPal Developerでアプリを作成し、Client IDとSecretを取得します。Google Apps ScriptにOAuth2ライブラリを組み込み、Transactions APIからデータを取得してシートに書き込みます。応用としては、Apps Scriptのトリガー機能を使って毎日自動実行する設定を追加すると便利です。また、IMPORTDATA関数と組み合わせる方法もあるため、状況に応じて使い分けてください。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。