見出し画像

APIキーの罠に落ちた夜、「失敗を記事にする」という最強のライフハック

こんにちは!YaroTechです。

昨日、MFクラウド会計のAPIをGASで叩こうとして、2時間で9個の罠にハマりました

「APIキー方式でサクッと30分で終わるはず」と高をくくっていたのに、いざ始めてみたらそもそもAPIキー方式ではクラウド会計にアクセスできないという根本的な事実に気づくまでに2時間。その間に出会ったエラーは、DNSエラー、404、401、400、INACTIVE_TOKEN…。

でも、その2時間が昨日の有料記事で一番読み応えのあるセクションになりました。

今日はその裏側の話をします。

※見出し画像のプロンプトは一番下におまけで公開中!


🖥️ 実行環境

  • 記事作成PC:ThinkPad X1 Carbon Gen 13

  • 担当AI:クロ助(Claude Desktop)


「クラウド会計がない…」

昨日の午後1時、GASのエディタを開いて、意気揚々とAPIキーを発行しました。

意気揚々とAPIキーを発行

マネーフォワードのアプリポータルには「APIキー管理」と「アプリ開発」の2つのメニューがあるんですが、「APIキー管理」の方が明らかに簡単そう。OAuth2なんて複雑なことしなくていいなら、そっちでしょ。

APIキーを発行して、GASにコードを貼り付けて、実行ボタンをポチッ。

DNSエラー。

実行したら見事にDNSエラー

URLが間違ってたんです。実は、5つのAIにDeepResearchで調べてもらったURLが全部間違っていて。正しいドメインに修正したら、今度は404 NOT FOUND

NOT FOUNDエラー

エンドポイントのパスも違う。修正して実行。401 INACTIVE_TOKEN

401 INACTIVE_TOKENエラー

ここから1時間以上、「なぜトークンが無効なのか」を調べ続けました。APIキーの発行し直し、JWT交換コードの見直し、デバッグ用関数の作成…。

で、ふとAPIキーの詳細画面を見たら、対象サービスが「クラウド連結会計」になってる。

「いやいや、俺が使いたいのは『クラウド会計』であって『クラウド連結会計』じゃない」

APIキー管理の新規登録画面に戻ってみると、サービスの選択肢がそもそも1つしかない

クラウド会計が、ない。

対象サービスが「クラウド連結会計」だけって、ショック。。。

この瞬間の脱力感は今でも覚えています。2時間前の「30分で終わるでしょ」がとても遠い。


400エラー3連発、そして200

APIキー方式が使えないと分かって、OAuth2方式に切り替えました。

OAuth2ライブラリを追加して、認証コードを書いて、authorize関数を実行。ブラウザで認証画面が開いて…「アプリ連携権限がありません」。

アプリとの連携を許可する以下の権限がありません。エラーが連発。。。

またかよ。

アプリポータル→ユーザーの操作権限、アプリ連携権限を全部チェックして設定

アプリポータルのユーザー設定を開いて、「アプリ連携権限」にチェックを入れて保存。再度認証。今度は成功。「認証成功!このタブを閉じてください。」の文字が見えた瞬間、小さくガッツポーズしました。

テナント情報API → 200 OK! やっと通った。

Status: 200 テナント情報API → 200 OK!

次は本題の仕訳データ取得。エンドポイントを叩いてみると…400エラー。「start_dateかend_dateを指定してください」。必須パラメータだったか。

Status: 400

日付を追加して再実行。また400。「Given date is not matching any accounting periods」。会計期間と日付が一致しない?4月始まりで指定してたけど、暦年(1月〜12月)だった。

Status: 400「Given date is not matching any accounting periods」

日付を修正。3度目の正直で実行。

Status: 200

Status: 200

ログに流れてくるJSONデータ。`account_name: "現金"`, `sub_account_name: "楽天Edy"`, `value: 64`…。

自分の会計データだ。

さらにスプレッドシート書き込みコードを追加して実行したら、借方科目・貸方科目・金額がセルに並んでいく。「旅費交通費」「会議費」「消耗品費」。毎月手動でCSVダウンロードしていたあのデータが、ボタン一つで取れる。

この瞬間、2時間の苦労が全部報われました。


失敗は「在庫」、成功は「配送」

ここからが今日一番伝えたいこと。

あの2時間の格闘を、昨日の記事のLevel 3セクションにそのまま書きました。「ハマりポイント5選」として整理して、「APIキー管理にクラウド会計がない罠」「認証URLとAPI URLが別ドメインの罠」「日付パラメータ必須の罠」…。

書いていて気づいたんです。このハマりポイントこそが、記事の一番の価値だと。

成功手順だけなら、公式ドキュメントを読めばいい。でも「どこで転ぶか」「なぜ転ぶか」「転んだ時にどう起き上がるか」は、実際に転んだ人にしか書けない

272日間noteを書き続けてきて、この感覚は少しずつ育ってきました。

最初の頃は、失敗したら「今日の記事ネタがない」と焦っていました。うまくいった時だけが記事になると思っていた。

でも100日を超えたあたりから、何かにハマるたびに「あ、これ記事になるな」と思うようになった。200日を超えたら、ハマりながらメモを取っている自分がいました。昨日は9個の罠のタイムスタンプまで記録してた。

失敗は在庫です。倉庫に溜まっていく。そして記事として配送される時、読者の「同じところで転ばなくて済んだ」という価値に変わる。

成功は一瞬の花火だけど、失敗は再利用可能な資産なんです。


明日もきっと何かにハマる

これを読んでいるあなたも、もしかしたら今日何かに失敗したかもしれません。

設定がうまくいかない。コードが動かない。想定と違う結果が出た。

それ、全部コンテンツの種です。

ブログでも、SNSでも、社内の共有ドキュメントでもいい。「ここでハマりました」と書くだけで、同じ道を歩く誰かの2時間を節約できる。

僕は明日もきっと何かにハマります。でも、もう焦りません。メモ帳を開いて、タイムスタンプを記録するだけです。

失敗は在庫。成功は配送。倉庫がいっぱいなら、それは豊かな証拠です。


🔗 関連記事


📝 まとめ

昨日の2時間で9個の罠にハマった話をしました。

でもその9個が、記事の一番価値あるセクションになった。失敗を「ネガティブな出来事」ではなく「コンテンツの在庫」と捉える。272日間の継続で辿り着いた、小さいけれど確かなライフハックです。


🚀 次回予告

次回のYaroTech記事もお楽しみに!


🎨 おまけ:見出し画像作成プロンプト

ジミーのキャラクター画像をGeminiに添付して、下記プロンプトを送信しています。
(「+」→「ファイルをアップロード」でキャラクター画像を添付 → モデル選択を「Pro」に → 「ツール」→「画像を作成」を選択してからプロンプトを送信)

詳細なアニメの美意識の画像を作成してください。表情豊かな瞳、なめらかな網掛けセルの色使いで、
下記条件のnote見出し画像をサイズは横長で作成してください。サイズは必ず横長で作成してください。

添付した画像のキャラクター(ジミー)を登場させて、下記条件のnote見出し画像をサイズは横長で作成してください。

## デザインコンセプト
- 背景: 温かみのあるオレンジ〜アンバーのグラデーション、夕暮れの書斎をイメージ
- メインビジュアル: ジミーがデスクに座り、PCの画面にエラーメッセージ(赤い「400」「401」の文字)が映っている。でもジミーの表情は笑顔で、片手にメモ帳とペンを持っている
- ジミーの周囲に吹き出し:「これ、記事になるな!📝」
- 背景に浮かぶキーワード: 「失敗」「在庫」「成功」「配送」がふんわり浮かぶ
- デスク上に積み上がったメモ帳(=失敗の在庫をイメージ)
- テキスト要素:
  - 上部: 「Day273 土曜エッセイ」
  - 中央: 「失敗を記事にする最強のライフハック」
  - 下部: 「9つの罠に落ちた夜」
- 装飾: 温かい光のパーティクル、メモのアイコン、矢印(失敗→記事への変換)
- 下部中央寄りに「YaroTech」のロゴを12ptで控えめに配置
- 全体のバランスを確認して完成

Step 7: 下部中央寄りに「YaroTech」のロゴを12ptで控えめに配置
Step 8: 全体のバランスを確認して完成


#YaroTech #エッセイ #失敗談 #APIハマり #MFクラウド #継続投稿 #個人事業主 #ブログ運営 #コンテンツ作成 #生成AI

いいなと思ったら応援しよう!

YaroTech|生成AIの傾奇者 記事がお役に立てたなら嬉しいです! いただいたチップは、新しいMCPツールの検証や、より深い実践実験の資金として大切に使わせていただきます。 あなたの応援が次の「AI活用の感動」を生み出す原動力になります✨ 一緒に羽ばたき続けましょう!