GASではじめてのマネーフォワードクラウド請求書APIへリクエスト

request

photo credit: mikecogh Individual Letterbox via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

GASによるマネーフォワードクラウド請求書APIの操作についてできる限りていねいに紹介をするシリーズをお送りしています。

前回の記事はこちら。

OAuth2 for Apps Scriptライブラリはどうやってアクセストークンを取得するのか
GASによるマネーフォワードクラウド請求書APIの操作についてできる限りていねいに紹介をするシリーズです。今回は、OAuth2ライブラリはどうやってアクセストークンを取得するのかについて解説します。

OAuth2ライブラリがどのようにアクセストークンを取得しているのかを解説しました。

ようやく、アクセストークンが取得できましたので、それを使ってマネーフォワードクラウド請求書APIの操作ができます!

ということで今回は、GASではじめてのマネーフォワードクラウド請求書APIへリクエストについてお伝えします。

では、行ってみましょう!

スポンサーリンク

これまでのおさらい

さて、以前の記事でお伝えしているとおり、マネーフォワード請求書APIを使おうと思ったら、おおまかに以下の手順が必要になります。

  1. マネーフォワードクラウド請求書API用のアプリケーションの作成
  2. 認証とアクセストークンの発行
  3. マネーフォワードクラウド請求書APIにリクエスト

1のアプリケーションの作成は以下の記事でお伝えしました。

GAS用のマネーフォワードクラウド請求書APIアプリケーションを作成する手順
マネーフォワードクラウド請求書APIの使い方についてできる限りていねいに紹介をするシリーズをお送りしています。今回は、GAS用のマネーフォワードクラウド請求書APIアプリケーションを作成する手順をお伝えします。

2の認証とアクセストークンの発行については、以下の記事以降でOAuth2ライブラリの解説とともにお伝えしました。

GASでAPIを操作をする強い味方「OAuth2 for Apps Script」ライブラリとその導入
GASによるマネーフォワードクラウド請求書APIの操作についてていねいに紹介をするシリーズをお送りしています。今回は、APIを操作をするライブラリ「OAuth2 for Apps Script」とその導入についてお伝えします。

ということで、いよいよ3に到達できたわけです。

では、以下の記事でテストした事業者情報の取得をGASで行っていきたいと思います。

マネーフォワードクラウド請求書APIへのアクセスをテストしてみよう!
マネーフォワードクラウド請求書APIの使い方についてできる限りていねいに紹介をするシリーズをお送りしています。今回は、マネーフォワードクラウド請求書APIへのアクセスをテストしてみよう!をお送りします。

GASでマネーフォワードクラウド請求書APIの事業者情報の取得

では、GASでマネーフォワードクラウド請求書APIの事業者情報の取得をする方法をみていきましょう。

APIへのリクエストとレスポンス

GASでAPIへアクセスをするときには、以下のUrlFetchAppのfetchメソッドを使います。

UrlFetchApp.fetch(リクエストURL, パラメーター)

マネーフォワードクラウド請求書APIに「これこれしてくれませんか~」と要求を投げます。これをリクエストをするといいます。

それで、今回の場合は、事業者情報が返ってきますが、その「返事」をレスポンスといいます。

レスポンスはResponseオブジェクトとして扱われ、その中からテキスト情報を取り出すのが以下のgetContentTextメソッドです。

Responseオブジェクト.getContentText()

引数のリクエストURLとパラメーターをどうするかですが、リクエスト先のサービスやその内容によってかわってきます。

リクエストURL

まず、リクエストURLですが、マネーフォワードクラウド請求書APIのドキュメントを見るとわかります。

https://invoice.moneyforward.com/api/v2/swagger_ui

マネーフォワードクラウド請求書APIドキュメント

Serversという欄にあるのが、ベースURLといって、すべてのリクエストに共通のURLの前半部分になります。

その下にやりたいこと別にメソッドエンドポイントが記載されています。

ベースURLとエンドポイントを連結したものが、リクエストURLとなります。

つまり、事業者情報の取得で言うと以下がリクエストURLです。

https://invoice.moneyforward.com/api/v2/office

パラメーター

パラメーターはいくつかのデータの集合で、オブジェクトで指定します。

以前、このドキュメントページでテストしたときのcurlコマンドがヒントになりますので再掲します。

curl -X GET “https://invoice.moneyforward.com/api/v2/office” -H “accept: application/json” -H “Authorization: Bearer 8318*************”

GETはメソッドを表し、その次がリクエストURLですね。

これらは先ほどのドキュメントでも明らかでした。

その後に「-H」がついているのが、「~をヘッダーに追加しておくれ」というもので、マネーフォワードクラウド請求書APIへのリクエストには、以下の2種類のヘッダーを追加してあげる必要があります。

ヘッダー
accept application/json
Authorization Bearer 8318*************

Authorizationについては、OAuth2を使用する際にはいつも追加するもので、冒頭の「Bearer 」(※半角スペースわすれずに)はお決まり文句、つづく「8318~」ではじまる文字列がアクセストークンです。

アクセストークンは、OAuth2ライブラリのちからを借りて、以下のgetAccessTokenメソッドで取得できます。

OAuth2Serviceオブジェクト.getAccessToken()

以前作成した、getMFInvoiceService_関数を呼び出せば、マネーフォワードクラウド請求書API用のサービスは生成できますので、以下のコードでアクセストークンをaccessTokenに取得できます。

const accessToken = getMFInvoiceService_().getAccessToken();

つまり、以下のようなオブジェクトparamsをパラメーターとして渡してあげればよいということになります。

const params = {
  method: 'get',
  headers: {
    accept: 'application/json',
    Authorization: 'Bearer ' + accessToken
  }
};

マネーフォワードクラウド請求書APIで事業者情報を取得する

まとめると、マネーフォワードクラウド請求書APIで事業者情報を取得するスクリプトは、以下になります。

function getOffice() { 
  const accessToken = getMFInvoiceService_().getAccessToken();

  const requestUrl = 'https://invoice.moneyforward.com/api/v2/office';
  const params = {
    method: 'get',
    headers: {
      accept: 'application/json',
      Authorization: 'Bearer ' + accessToken
    }
  };

  const response = UrlFetchApp.fetch(requestUrl, params);
  console.log(response.getContentText());
}

実行すると、以下のように事業者情報がログとして出力されます。

マネーフォワードクラウド請求書APIの事業者情報がログとして出力

まとめ

以上、GASではじめてのマネーフォワードクラウド請求書APIへリクエストについてお伝えしました。

他の操作をしようと思ったら、ドキュメントを見ながら、メソッドとエンドポイントを変えていけば様々な操作が可能になるわけですね。

次回は、請求書一覧の取得について見ていきます。

マネーフォワードクラウド請求書APIから請求書一覧の取得をテストしてみよう!
GASによるマネーフォワードクラウド請求書APIの操作についてできる限りていねいに紹介をするシリーズです。今回は、マネーフォワードクラウド請求書APIから請求書一覧の取得をテストてみよう!をお送りします。

どうぞお楽しみに!

連載目次:【初心者向け】GASでマネーフォワード請求書API

マネーフォワード請求書APIを使用することで、GASからマネーフォワード請求書のデータを取得したり、操作をしたりすることが可能です。このシリーズでは、そのはじめの一歩として、マネーフォワード請求書APIとは何か?またGASによるアクセスの初歩をお伝えしていきます!
  1. はじめてのマネーフォワード請求書API~その概要とおおまかな手順
  2. マネーフォワード請求書APIへのアクセスをテストしてみよう!
  3. GAS用のマネーフォワード請求書APIアプリケーションを作成する手順
  4. GASでAPIを操作をする強い味方「OAuth2 for Apps Script」ライブラリとその導入
  5. GASでマネーフォワードクラウド請求書APIへの認証とアクセストークンの取得を行う方法
  6. OAuth2 for Apps Scriptライブラリを使ってサービスを作るスクリプトを解説
  7. OAuth2 for Apps Scriptライブラリはどうやって認証用URLを作成しているのか
  8. OAuth2 for Apps Scriptライブラリはどうやってアクセストークンを取得するのか
  9. GASではじめてのマネーフォワードクラウド請求書APIへリクエスト
  10. マネーフォワードクラウド請求書APIから請求書一覧の取得をテストしてみよう!
  11. マネーフォワードクラウド請求書APIによる請求書一覧のデータを読み取ってみよう!
  12. GASでマネーフォワード請求書の請求書一覧を取得するスクリプト
  13. GASでマネーフォワードクラウド請求書の請求書一覧をスプレッドシートに書き出す方法
  14. マネーフォワードクラウド請求書の請求書一覧の全件をスプレッドシートに書き出すスクリプト
タイトルとURLをコピーしました