1 of 81

会計freee API x Google Apps Script

連携ハンズオンセミナー

2020/12/11

freee株式会社

Takeshi Nick Osanai

freee 株式会社

1

2 of 81

本日のアジェンダ

  • freee API の概要
  • Google Apps Script の概要
  • freee API x GAS のハンズオン

2

3 of 81

Takeshi “Nick” Osanai

3

DevRel、CMSエンジニア、クラウドエンジニア

早稲田大学卒業後、アスキーでゲームビジネス従事。シックス・アパート株式会社でディベロッパーリレーションを担当後、2019年8月にfreeeへjoin。

  • AWS認定ソリューションアーキテクト(SAA)
  • マイクロソフト認定資格 (Azure Fundamentals)
  • Qiita Microsoft Azure Anntena賞(2018)
  • Most DevRel Committer (2019)
  • TOEIC 875、英検準一級

好きなこと:

ジョギング、ダンス、野球観戦� (埼玉西武ライオンズと横浜DeNAベイスターズファン)

ゲーム (スプラトゥーン、ドラクエ)

長内 毅志

freee株式会社

ディベロッパーリレーション

@Nick_smallworld

3

4 of 81

Satoshi Kishimoto

2014年 4月 freee入社

ソフトウェアエンジニア

→テクニカルサポートエンジニア

→現在

CREチーム (Customer Reliability Engineering)

日々発生するお問い合わせを、エンジニアリングの活用によって

減らす & 解決までの時間を短くする。

→お問い合わせの調査・分析・改善

水泳

夏に湘南の海で10km泳ぎに行ったりしています。

※CRE:2016年にGoogleが発表した新しい専門職→顧客信頼性エンジニアリング

岸本 智史

freee CRE Team

略歴:

所属:

業務:

趣味:

5 of 81

Nagao Kazuyoshi

5

物心ついてから今まで、Web系を中心に機会があれば何でも書くプログラマーです。

個人プロジェクトとしてプログラミングなどの教育プロジェクトを行うほか、開発やプログラミングに関して気軽に話せる場が欲しく、神楽坂にて不定期間借りバーを営業しています。

2019年8月にfreeeへ!

開発経験をいかしつつも、技術を伝えるスキルを身に着けたく、�CREチームにてPublic API のテクニカルサポートを担当しています。

趣味は、お酒・映画・ヨットを中心としつつも、娯楽と言われるたぐいは機会があるかぎり全力で楽しんでいます。

日々全力で楽しんで、暁の水平線に勝利をきざみましょう。

長尾 一慶

6 of 81

今日の目的

  • 「freee API の最初の一歩」に触れてみる
    • freeeアプリの作成
    • APIコール
  • APIの可能性を感じてもらう
  • Google Apps Scriptの便利さを体感してもらう

6

7 of 81

freee API の概要

7

7

8 of 81

アイデアやパッションやスキルがあればだれでも、

ビジネスを強くスマートに育てられるプラットフォーム

スモールビジネスを、世界の主役に。

161億603万円 (資本準備金等含む)

従業員数

事業内容

クラウド型バックオフィスサービスの開発・販売

資本金

設立年月日

2012年7月

505名(2019年1月末時点)

8

9 of 81

会計ソフト・給与ソフト共に法人シェアNo.1

 

※1 シミラーウェブ、ローカルフォリオ(2019年10月

※2 2016年3月 MM総研調べ

* 2017年8月より、クラウド給与計算ソフト freeeは、機能を強化し、新たに「人事労務 freee」というサービス名に変更しました。

クラウド給与ソフト

市場

40%

クラウド会計ソフト

市場

55.2%

※1

※2

9

10 of 81

10

11 of 81

11

12 of 81

スモールビジネス向け統合型クラウドERPとしての新たな一歩

プロジェクト

マネジメント

法務

会計

債権債務管理

ワークフロー

請求管理

管理会計

マイナンバー管理

給与計算 / 年末調整

行政手続き

勤怠管理

会計

債権債務管理

ワークフロー

請求管理

管理会計

マイナンバー管理

給与計算 / 年末調整

行政手続き

勤怠管理

スモールビジネス向け統合型

クラウドERP

バックオフィス

領域

フロント/ミドル

領域

●未展開領域

POS / Payment

SFA / CRM

調達 / �サプライヤー管理

販売�在庫管理

※ 2013年3月リリース

  • 会計
  • 債権債務管理
  • 予実管理
  • 請求管理
  • ワークフロー
  • 経費精算
  • 給与計算
  • 勤怠管理
  • 人事マスタ
  • マイナンバー
  • 行政手続
  • 年末調整

※ 2014年10月リリース

  • 工数管理
  • アサイン管理
  • プロジェクト収支管理

※ 2020年4月リリース

12

13 of 81

API

API

API

スマート受発注

3つのAPI

13

14 of 81

14

15 of 81

APIとは?

  • アプリケーション・プログラミング・インターフェースの略
  • ソフトウェア、アプリケーション、データを外部から利用できるようにするための仕組み
  • インターネット以前から存在します

15

16 of 81

freee が提供するAPI

RESTful APIを提供しています

  • ウェブサイトを閲覧するときに利用する「URI」経由で、freeeのデータや、プログラミングロジックを利用することができる

  • もう少し技術的な話
  • ロイ・フィールディング(Roy Fielding)氏が提唱した設計原則
  • 4つの原則
    • アドレス指定可能なURIで公開されている
    • インターフェース(HTTPメソッドの利用)の統一がされている
    • ステートレスである
    • 処理結果がHTTPステータスコードで通知される

16

17 of 81

APIが使えると、何が嬉しいのか

  • freee が提供する機能+αの業務処理が可能となる
  • freeeアプリを開発、第三者に利用してもらうことができる
  • 「freeeアプリストア」から、好みのアプリを利用して便利に使うことができる

17

18 of 81

18

19 of 81

オープンAPIとアプリストアによるエコシステム

70を超える連携アプリがアプリストアに

70 +

2020年7月末時点

20 of 81

Google Apps Script の概要

20

20

21 of 81

Google Apps Script(GAS) の概要

https://developers.google.com/gsuite/aspects/appsscript?hl=ja

  • JavaScript ベースのスクリプト言語
  • ドキュメント、スプレッドシート、スライド、フォームなどの G Suite サービスをカスタマイズ、拡張できる
    • Web API用の関数があり、インターネットサービスと親和性が高い

21

22 of 81

Google Apps Script が使えると嬉しいこと

  • 複雑な業務処理、計算処理をプログラムに任せることができる
  • タイマー設定により、処理の予約・繰り返しができる
  • APIを介して、ネット上のシステムとデータのやり取りや処理が行える

22

23 of 81

ハンズオン

23

23

24 of 81

今日のシナリオ

  • 最初の準備
  • アプリストアでハンズオン用のアプリを作ろう
    • アプリストアにログイン
    • 自分の事業所を選択
    • 最初のアプリを作成
  • Google スプレッドシート+Google Apps Scriptでデータを取得してみる
    • GASの設定準備
    • 事業所情報の取得
    • 勘定科目一覧の取得

24

25 of 81

最初の準備

Google スプレッドシートを準備しましょう

  • 新しいGoogleスプレッドシートを準備しましょう
  • 「ツール」→「スクリプトエディタ」を選べるか確認しましょう

25

26 of 81

スクリプトエディタを確認しましょう

  • ブラウザ上に「スクリプトエディタ」が表示されれば大丈夫です。

26

27 of 81

ハンズオン用のアプリを作りましょう

27

27

28 of 81

スタートガイドに従って進めます

https://developer.freee.co.jp/getting-started

28

29 of 81

freeeアプリストア→「開発者ページ」をクリック

https://app.secure.freee.co.jp/

29

30 of 81

メニュー→ログインをクリック

30

31 of 81

お持ちのfreeeアカウントでログインします

31

32 of 81

ハンズオンで利用したい事業所を選択します

32

33 of 81

アプリ管理をクリックします

33

34 of 81

「新規追加」をクリックします

34

35 of 81

情報を入力してアプリを作成します

「アプリ名」「概要」を任意に指定します。

「利用規約に同意する」をチェックし、右上の「作成」をクリックします。

35

36 of 81

ハンズオン用アプリが作成されます

36

37 of 81

「基本情報」に戻ります

「コールバックURL」

「Client ID」

「Client Secret」

の項目が表示を確認します。

後ほど、この3つの項目を利用してAPIの操作をします。

37

38 of 81

ここまでのまとめ

  • freeeのAPIを利用するときは「freeeアプリストア」の開発者ページから設定します。
  • 「下書き保存」の状態でも利用可能です。

38

39 of 81

Googleスプレッドシートを準備します

39

39

40 of 81

今回のポイント

  • あらかじめプログラムを組み込んだスプレッドシートをコピーして使います
  • APIを利用するときに必要となる初期設定を行います
  • APIからのデータ取得を体験しましょう

40

41 of 81

Googleスプレッドシートをコピーします

https://bit.ly/367IK5r

当資料は2023年現在 freeeサポート対象外です

41

42 of 81

スプレッドシートが表示されることを確認します

42

43 of 81

「ファイル」→「コピーを作成」をクリックします

ハンズオン用サンプルシートを、皆さんのGoogleドライブにコピーします。�ファイル名は任意に設定してください

43

44 of 81

コピーが作成されたことを確認しましょう

以後は、コピーしたシートを利用します。

44

45 of 81

メニューから「freeeAPI連携」�→「サイドバーを開く」をクリックします

しばらく待つと「freeeAPI連携」がメニューに表示されるので、クリックしてください。「承認が必要」という表示でたら「続行」をクリックします

45

46 of 81

Googleアカウントでログインします

「このアプリは確認されていません」という表示が出る場合があります。�そのときは「詳細」→「token(安全ではないページ)に移動」をクリックします

46

47 of 81

「token」に対するリクエストを許可します

ハンズオン用アプリに組み込まれているGoogle Apps Scriptが、外部APIへのアクセスやシートへの書き込みができるようにするための許可となります

47

48 of 81

再度「freeeAPI連携」→「サイドバーを開く」をクリックします

右サイドに連携手順が表示されたら、準備完了です。

48

49 of 81

参考:サイドバーについて

サイドバーには、ハンズオンで体験いただく操作手順が箇条書きで記述されています。今回のハンズオンでは

  • 「1-6」→ freeeアプリの作成
  • 「7-18」→ GASによるAPI操作

が書かれています。�「1−6」は終了しています。ここからは「7-18」について説明していきます。

49

50 of 81

スクリプトエディタの設定画面に移動します

操作メニューから「ツール」→「スクリプトエディタ」をクリックします

50

51 of 81

GASの設定を行います

別タブで、GASのエディタが開きます。メニューから「公開」→「ウェブアプリケーションとして導入」を選びます。

51

52 of 81

GASの設定を行います

  • [Execute the appp as] →[Me]
  • [Who has access to the app] →[Only Myself]

を選択します。(英語)

日本語では

  • 実行者:Me
  • アクセス:Only myself

となります。

[Deploy]をクリックします。

52

53 of 81

デプロイが完了したことを確認します

「Deploy」が完了すると、app URLが発行されます。「OK」をクリックして、スプレッドシシートに戻ります。

53

54 of 81

コールバックURLを取得します

スプレッドシートからサイドバーを開き「コールバックURLを取得する」をクリックします。「コールバックURL」が表示されるので、URLをコピーします。

54

55 of 81

freeeアプリストアのハンズオン用アプリを開きます

freeeアプリストアに戻り、先ほど作成したハンズオン用アプリを開きます。

「基本情報」の画面から「コールバックURL」を選びます。

55

56 of 81

スプレッドシートに表示されたコールバックURLをペーストして保存します

コールバックURLを貼り付け、「下書き保存」をクリックします。

56

57 of 81

[Client ID] [Client Secret]をアプリストアからコピーし、スプレッドシートに貼り付けます

ハンズオン用アプリの「Client ID」「Client Secret」の値をコピーし、スプレッドシートの「Cllient ID」「Clinet Secret」に貼り付けます

57

58 of 81

権限設定をクリックします

58

59 of 81

「勘定科目」「事業所」の「参照」をチェックして

下書き保存をクリックします

59

60 of 81

「保存に成功しました。」というメッセージを

確認します

60

61 of 81

サイドバーの「Webアプリ認証URLを開く」をクリックします

シート内にウィンドウが開きます。「認証する」をクリックします。�表示されない場合はサイドバーを再度開いてください

61

62 of 81

ハンズオン用アプリを作ったfreeeアカウントでログインします

62

63 of 81

アプリ連携を許可します

アプリの権限設定で許可した項目のみ操作が可能となっています

63

64 of 81

認証が成功したら、スプレッドシート に戻ります

下記のようなメッセージが表示されたら、認証は成功しています。シートに戻りましょう。

64

65 of 81

エラーが発生した場合

「指定されたアプリケーションは存在しません」という表示が出る場合、コールバックURLの指定が間違っている場合が多いです。設定をご確認ください。

65

66 of 81

APIをコールしてみましょう

66

66

67 of 81

事業所データを取得してみましょう

シートの「リクエストURL」が [https://api.freee.co.jp/api/1/companies] になっていることを確認して「APIを実行する」をクリックします

67

68 of 81

事業所一覧が表示されます

会計freeeに登録されている事業所データが表示されます。

68

69 of 81

事業所名とIDについて

  • APIでは、freeeのデータベースに登録されているデータを取得できます
  • 今回のコールでは、会計freeeに登録されている事業所のデータを取得しています。
  • 主要な項目は以下の通りです
    • display_name→事業所名
    • ID→事業所に割り振られているユニークなID
    • role→freeeアプリにログインしたユーザーの権限

69

70 of 81

勘定科目を取得してみましょう

70

70

71 of 81

事業所の勘定科目を取得してみましょう

勘定科目を取得したい事業所の「ID」をコピーします。

71

72 of 81

リクエストURLを指定します

勘定科目を取得するURLを指定します。

https://api.freee.co.jp/api/1/account_items?company_id=****

  • [ https://api.freee.co.jp/api/1/ ] までは事業所データを取得するURLと同じです
  • [ /1/ ] のあとを「account_items?company_id=****」と入力します。
  • [ **** ] には、勘定科目を取得したいIDを入力します。

72

73 of 81

シートを変更して「APIを実行する」を�クリックします

73

74 of 81

勘定科目が取得されます

74

75 of 81

この項のポイント

  • 事業所IDを指定することで、特定の事業所のデータを取得できます
  • 勘定科目を取得するときは「account_items」というURLで指定します
    • 「エンドポイント」と言います
  • APIのコールは「?OOOO=XXXX」という形式で指定します
    • 「GETリクエスト」と言います
  • 今回のコールは「ID [****] の勘定科目を取得する」という命令になっています

75

76 of 81

APIコールのポイントまとめ

76

76

77 of 81

freee APIを使う上でのポイント

  • freee APIを利用する手順は以下の手順で行います
    • APIをコールするための「freeeアプリ」を作成
    • freeeAPIをコールするためのプログラムを作成
    • freeeAPIにアクセスする権限の設定
      • コールバックURL、Client ID、Client Secret
      • データのアクセスをどこまで許可するかの権限設定

77

78 of 81

APIを使う上での注意事項

78

78

79 of 81

freeeAPIを利用する上での注意

  • 権限設定は最小限に
    • 権限設定が大雑把だと、大事なデータの流出につながります
    • アプリごとに、どこまでデータを取得できるかを絞り込むのが大事です
  • 「データの書き込み、上書き」は慎重に!
    • 今回のハンズオンは「データの取得」だけに焦点を絞りました
    • APIを利用すると、データの書き込みや上書きもできてしまいます
    • 大事な会計データを壊しかねないため注意しましょう!

79

80 of 81

freeeアプリストアのご紹介

https://app.secure.freee.co.jp/

  • freeeを便利に使うためのアプリを紹介しています
  • APIを利用した開発をしなくても、問題が解決するかも
  • ぜひご利用ください

80

81 of 81

スモールビジネスを、世界の主役に。

81