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資格情報を取得する手順
- PayPal Developerサイトにログインする
ブラウザで developer.paypal.com を開き、アカウントでログインします。マイアプリが表示されます。 - 新しいREST APIアプリを作成する
ダッシュボードの「My Apps & Credentials」タブで「Create App」をクリックします。アプリ名を入力し、作成ボタンを押します。するとClient IDとSecretが表示されます。 - Client IDとSecretを安全に保存する
表示されたClient IDとSecretをメモ帳にコピーします。Secretは一度しか表示されないので、必ず保存してください。この情報は後のスクリプトで使用します。
Google Apps Scriptで売上データを取得する手順
Googleスプレッドシートで売上データを取得するには、Apps Scriptにスクリプトを記述します。API呼び出しにはOAuth2認証が必要なため、OAuth2ライブラリを追加します。
OAuth2ライブラリをプロジェクトに追加する
- スクリプトエディタを開く
スプレッドシートのメニューから「拡張機能」→「Apps Script」を選択します。スクリプトエディタが開きます。 - ライブラリを追加する
スクリプトエディタの左側メニューで「ライブラリ」の「+」をクリックします。スクリプトID「1B7FSrk5Zi6L1rS1jjG6gF4Z3t0xJZ5s5p8P8f8Jh1E6p3s5y4x8z」を入力し、追加します。バージョンは「40」を選択して保存します。
スクリプトを記述して実行する
以下のスクリプト例を参考に、スクリプトエディタのコード.gsに記述してください。Client IDとSecretは先ほど取得した値に置き換えます。
- アクセストークンを取得する関数を作成する
関数 getPayPalAccessToken を定義し、OAuth2ライブラリを使って認証します。スコープは「https://api.paypal.com/v1/payments/.*」を指定します。 - 売上データを取得する関数を作成する
関数 fetchTransactions(startDate, endDate) を定義し、Transactions API(/v1/reporting/transactions)を呼び出します。取得したJSONをパースして、シートに出力します。 - スクリプトを実行して結果を確認する
関数を選択し、実行ボタンをクリックします。初回は認証画面が表示されるので、許可してください。完了すると、アクティブなシートに売上データが書き込まれます。
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
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】数値の連続データを自動入力!オートフィルの活用
- 【Googleスプレッドシート】ダークモードを有効にする!目に優しい配色への切替
- 【Googleスプレッドシート】株価APIで株式データを自動取得!GOOGLEFINANCE超え活用
- 【Googleスプレッドシート】共有相手が編集できない時のチェック!権限と許可状態の確認
- 【Googleスプレッドシート】ページ設定で用紙サイズと向きを調整!印刷レイアウトの基本
- 【Googleスプレッドシート】Excelファイルxlsxをインポートする手順!ドラッグ&ドロップで取り込み
- 【Googleスプレッドシート】条件付き書式をコピーする!書式のみペーストの活用
