2019.06.27こんにちは!ITライターのもり(@moripro3)です!クラウド会計ソフトfreeeのAPIを使って経理業務を自動化する初心者向けシリーズ「はじめてのfreeeAPI」をお届けしています。前回の記事では、GASでリクエストを送りfreeeの事業所一覧を取得しました。画面操作をせずに、直接freeeからデータを取得できましたね。【はじめてのfreeeAPI】GASでリクエストを送りfreeeの事業所一覧を取得するGoogleAppsScriptでクラウド会計ソフトfreeeのAPIを操作するシリーズ。GETリクエストでfreeeの事業所一覧を取得するコードと、freeeAPIリファレンスの読み方を紹介しています。tonari-it.com2019.06.26今回のテーマは「データの更新」です。「データの取得」に比べると少し作業量が増えますが、丁寧に解説していきますので、一緒に操作しながら試してみてください。データ更新のお題「事業所情報を更新する」を通じて、これらの練習をしてみます。GASでfreeeにリクエストを送り、直接freeeのデータを更新するリクエストするデータの作り方(JSON形式)を理解する画面操作ではなく、API操作でデータを更新する流れをみていきましょう!(この記事はfreee株式会社さまとのコラボ企画です。前回の記事では、GETリクエストで事業所一覧を取得して「事業所ID」を確認しました。※今回のお題「事業所情報を更新する」で「事業所ID」を使用しますので、事業所情報を未取得の方は、まず前回の記事をご確認ください。freeeでは、1つのアカウントで複数の「事業所」を作成できるため、GASでfreeeAPIを操作するときには、どの事業所に対する処理かを指定するため「事業所ID」が必要になります。リクエストとレスポンスGASでfreeeAPIを操作するために理解しておくべき「2つの用語」も、再確認しておきましょう。リクエスト(要求)レスポンス(応答)「リクエスト」とは、freeeのデータサーバに対して「~の処理をお願いします」と要求することで、その種類は4つあります。お題DELETE「削除」GETリクエストとPUTリクエストの違いGETリクエストは「データをください」という依頼です。手紙に例えると、空の封筒に宛先だけを書いて送り、その封筒にデータを入れて返送してもらうイメージです。それに対して、PUTリクエストは「データの更新」なので、更新したい「データ」を送る必要があります。封筒に「データ」を入れて送り、処理の結果を返送してもらうイメージです。※GETリクエストでも、封筒の側面に「~のデータ更新をお願い」と記述して送ることもできますが、セキュリティ上の問題があるのでやめておきましょう。今回のお題は「PUTリクエストで事業所データを更新する」です。今回新しく登場する用語「ボディ」を紹介します。ボディとは、APIにリクエストを送るときの「データ」のことです。手紙で例えると、外から見えないように封筒の中に入れて送る書類です。ボディ(body)とは「リクエストで送るデータのこと」と理解しておきましょう。...他多数API経由でどの項目が更新できるのかを、freeeAPIリファレンスで確認しましょう。更新」をクリックして展開します。*required(必須項目)Parameters1id(path)=リクエストURL(/companies/{id})に付与するパラメータ2Parameters(body)=ボディ→これが「freeeAPI経由で更新可能な項目」です。「パラメータ例」とは「このような形式でボディを作成して送ってね」とfreeeAPIが指定してるものです。「パラメータ」詳細をクリックして、各パラメータの内容を確認してみましょう。APIで更新可能な項目名・example(サンプルデータ)・制約(最小/最大値)等を確認できます。更新する項目を決めるfreeeAPIリファレンスのパラメータ詳細の中から、どの項目を更新するか決めましょう。当記事では、基本情報の「電話番号1」と「ファックス番号」をfreeeAPI経由で更新してみます。画面開いちゃってるし、2項目だけなら画面で更新した方が早いじゃん!と思いますが...、当記事の目的は「GASでfreeeAPIを操作して、freeeのデータを更新してみること」なので、ぜひ皆さんもコードを書きながら試してみてください。「電話番号1」と「ファックス番号」のパラメータ名を、freeeAPIリファレンスで確認します。パラメータ名とは、リクエストを送る時の項目名称です。※画面の項目名とリファレンスの表記が異なる場合もあります画面の項目名=ファックス番号リファレンスの表記=FAX画面とリファレンスを照らし合わせると、このように確認できます。リクエストURLを確認するリクエストURLとは、APIにアクセスするためのURLです。操作したい内容によってURLが異なります。固定値となり、それに続く部分が操作内容によって異なることを前回の記事でお伝えしました。事業所ID事業所IDが1234567の場合、リクエストURLはこのようになります。https://api.freee.co.jp/api/1/companies/12345671https://api.freee.co.jp/api/1/companies/1234567ボディ(更新データ)を作成するここが今回の最大のポイントです。GASからfreeeに送るデータ「ボディ」を作成します。GASでfreeeに送るデータはJSON形式です。JSONとは、JavaScriptでオブジェクトを記述するデータ形式です。(更新する値を設定)これをJSON形式にして、変数に格納すればボディの完成です。変数名はbodyにしておきましょう。"99-9999-9999"};以上で、データ更新に必要な情報が揃いました!事業所情報を更新するコードPUTリクエストを送るための準備が整いました。一部説明が必要なコードは次の項で解説しますので、まずはコードを実行してみましょう。params);Logger.log(response);}レスポンスを確認します。レスポンスには全項目が記述されており、”phone1”と”fax”の値を見ると、リクエスト通りの値になっていることが確認できます。freeeの画面をF5で再読込みをすると、2項目が更新できているのが確認できます。画面をまったく触らずに、API経由で事業所情報の更新ができました。今回の目的「GASでfreeeAPIを操作して、freeeのデータを更新する」が成功です!リクエストに付与するパラメータ上記コードの一部を解説します。変数paramsに、リクエストに必要な5つのパラメータを格納しています。//エラーが発生した場合、レスポンスにエラー全文を出力する};ポイントは、payloadの値に「JSON文字列」を設定することです。変数bodyはJSON形式の「オブジェクト」であるため、stringifyメソッドで「文字列」に変換します。JSON.stringify(オブジェクト)リクエストに失敗した場合API通信では、リクエストに何らかの誤りがある場合でも、その結果が返ってきます。レスポンス(結果)にエラーメッセージが書かれているので確認しましょう。"あいうえお"//FAX};このようなレスポンスが返ってくるので、「半角数字で入力してください」とエラーの内容が確認できます。リファレンスにも「レスポンスサンプル」が載っているので、参考までにご覧ください。以上が、GASでfreeeAPIを操作してデータを更新する一連の流れです。API」の第4回目では、これらを紹介しました。GASでfreeeAPIを操作して、freeeのデータを更新する流れリクエストするデータの作り方(JSON形式)画面を操作することなくデータの取得・更新ができるAPIの仕組みは素晴らしいですね。この仕組みを活用すれば、色々な作業が効率化できます。freeeに取引を登録する場合、画面で一件ずつ登録するのは時間がかかります。CSVインポート機能もありますが、スプレッドシートのデータをCSV形式に変換する手間もあります。そんな時に、GASとfreeeAPIを使って、スプレッドシートのデータをそのまま一括登録できたら便利ですね。freeeAPIを習得して、経理業務の自動化に役立ててみてください。API」シリーズは最終回です。お読みいただきありがとうございました。次シリーズから実践編を紹介していきます。お楽しみに!連載目次:【GAS初心者向け】はじめてのfreeeAPIGoogleAppsScriptを使用して「クラウド会計ソフトfreee」のAPIを操作する初心者向けシリーズ。APIで何ができるのか?連携方法は?を紹介しています。APIを操作してデータの取得・更新をしてみましょう。VBAを専門とするITライターです。退屈なことはプログラミングで片づけよう!自らの事務職経験を活かし、事務作業をとことんラクにできるITネタを発信していきます。「コミュニティ+講座」形式で継続性&教え合える環境も提供。!ノンプログラマーがプログラミングスキルを身に着ける支援ををするコミュニティ。セミナー・もくもく会・Facebookグループのサポートで「自らで学び続ける力をつける」支援、「教え合うことで学びの価値を上げる」場の提供をしています。SQLのデータベースにアクセスする方法をシリーズでお伝えしています。SQLにクエリを実行した結果を取り出す方法です。ScriptでTrelloのAPIを叩きます。Docsを確認して今回必要なキーがidMembersとdueとわかったので、この二つを取り出して配列に代入する関数を説明します。Scriptを学ぶシリーズ、Botの作成を目指しております。実行時に「承認してください」とスクリプトからのアクセス許可が求められる件について、詳しく解説していきます。ScriptGASでGoogleスライドのプレゼンテーションを操作するはじめの一歩GASでGoogleスライドのプレゼンテーションを操作する方法についてのシリーズがはじまりました。GASでGoogleスライドのプレゼンテーションを操作するはじめの一歩をお伝えします。ScriptGASでGmailを操作して日々の日報メールの下書きを自動で作成する日報メール書いてらっしゃいますか?毎日のことですから、自動である程度の文面を含めて作成できたら便利ですよね。今回はGASでGmailを操作して、日々の日報メールの下書きを自動で作るスクリプトを紹介します。Scriptでサイドバーを作成する方法についてお伝えしています。今回はGASでサイドバーのボタンを押してGAS側の関数を呼び出す、google.script.runの使い方をお伝えします。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント108セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント108セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。RowSourceプロパティとAddItemメソッド2020.01.21GASでGoogleスライドのSlideオブジェクトの概要とその取得方法2020.01.162020.01.24Facebookページいつも隣にitのお仕事タイトルとURLをコピーしました。