LaravelとGoogle:Invalid JSON payload receivedエラー対策

Laravelと連携:Excel・PDF・Google

LaravelとGoogleスプレッドシート連携時、このエラーがでたときの対策です。

データベースにnullが含まれている場合は、このエラーが出る可能性があり。

Google\Service\Exception : {
“error”: {
“code”: 400,
“message”: “Invalid JSON payload received.

わたしは原因がつかめず、長々と

じゅんこ
じゅんこ

なぜだめなの~!?

と、四苦八苦しました。

この記事が同じような思いをしている方の役に立てば、苦労も報われます!

LaravelとGoogle:Invalid JSON payload receivedエラー対策

問題の対策としては、nullの値を空文字列に変換すること。

array_mapを使ったりすると、実現できます。

array_mapとは、配列の各要素に、何らかの処理を適用できます。

array_mapについてPHP公式マニュアルより:

array (および、 それ以上の配列が与えられた場合は arrays) の各要素に callback を適用した後、 適用後の要素を含む array を返します。 callback 関数が受け付けるパラメータの数は、 array_map() に渡される配列の数に一致している必要があります。

*引用元:https://www.php.net/manual/ja/function.array-map.php

array_mapを使って、null値を空文字に変換するコード例はこちら。

コードの意味データベースからtestテーブルの値を全て取得して、これを配列に変換し、$testsに代入。

foreachで$testsをひとつずつにばらします。

ひとつずつの要素の中に null値があれば、空文字列に変換。

これを配列にセット。

このようにnull値をなくせば、エラーを回避できるかと思います。

じゅんこ
じゅんこ

もし他の原因であれば、ごめんなさい。

全体のコード例は、GoogleスプレッドシートとLaravelの連携を解説した記事に載せているので、併せて参考にしてくださいね。

なお今回のようなエラーが起こる原因は、Laravelでは、デフォルトでNullが入るように設定されているため。

LaravelとNullの関係?については、別記事にまとめたので、気になったらご覧ください。

Laravelと連携:Excel・PDF・Google

【Laravelの教科書・プレゼント】

Junko
Laravelの使い方を覚えたい!と思ったら、ぜひ、役立ててほしいです。 基礎編は無料でプレゼント中です♪
ひつじプログラマ
会員制サイトをいちから作っていくよ。ボタンをクリックして詳細を見てね。
Laravelの教科書の詳細を見る

最新のLaravel10版テキストに加え、Laravel8版・Laravel9版もご用意しています♪

【無料プレゼント】

「LaravelでWebアプリをいちから作れるようになりたい!」

そんなLaravel初心者のあなたへ【Laravelの教科書】基礎編プレゼント中! 会員制フォーラムサイトを学習しながら作れます。

詳細はこちらをクリック

最新のLaravel10版テキストに加え、Laravel8版・Laravel9版もご用意しています♪

Laravelの本を書きました。


ひつじが目印♪
クリックするとamazonページへ。

Laravelの使い方を分かりやすく解説した書籍を出版しました。書店やAmazon等のオンラインショップにて販売中です。
Laravel10対応。Laravel11サポートガイドもご用意しています。詳しくは下記ボタンをクリック♪

書籍の詳細を見てみる

Laravelの本を書きました。


ひつじが目印♪
クリックするとamazonページへ。

Laravel10対応

Laravelの使い方を分かりやすく解説した書籍を出版しました。書店やAmazon等のオンラインショップにて販売中です。

書籍の詳細を見てみる

 

Laravelの教科書限定コミュニティ【Laravelの教科書ラボ】はじめました。
デプロイ講座付。StripeやChatGPT連携など過去10回分のセミナー動画視聴可能。

Laravel実践スキルをのばしたい方におすすめです。

ラボの案内を見てみる

Twitter始めました。
40代からプログラミング!
タイトルとURLをコピーしました