![見出し画像](https://assets.st-note.com/production/uploads/images/98414015/rectangle_large_type_2_dacf775281b97697feea1fe9b9666448.png?width=1200)
【GAS】注文数が多すぎてスプレッドシート取得時に時間超えのエラー!続きの注文情報が取れるボタンを追加#11 (Shopify API + GoogleAppsScript)
こんにちは。Shopify専門エンジニアのまりん(@crowd37cord)です。
前回、注文情報から販売データ分析でご紹介した注文情報取得のAPIですがスプレッドシートだと長すぎると「起動時間の最大値を超えました」というエラーが出てきてしまいます。
そこで、今回は前回の続きで2回目以降の注文情報を取得する際の取得ボタンを作成してみました^^
前回の続きのコードを使用しますので今回から作成した場合は多分動かないと思います。
✔︎今回のゴール
![](https://assets.st-note.com/img/1676850120768-5o8WPyjzDo.png?width=1200)
GASでロード時間が長いとエラーが出てしまうので、2回目以降の取得ボタンを設置。
✔︎作成手順
◆事前準備
下記のStep3までは作成しておく必要あり。
Step1 新規スクリプトファイルを作成
![](https://assets.st-note.com/img/1676800442261-0wGujFl3P6.png?width=1200)
名前は何でもOKです。
→とりあえずsecondにしておきます
orderinfo.gsのコードをコピペ。
Function名を変更
requestOrderClosed_() → requestOrderClosedSecond_()
requestOrderOpen_() → requestOrderOpenSecond_()
getOrderInfo() → getOrderInfoSecond()
getOrderInfoSecond()内の下記も変更しておく。
var resClose = requestOrderClosedSecond_(); //発送済み商品情報取得
var resOpen = requestOrderOpenSecond_();//未発送商品情報取得
あとは、APIの取得する注文IDが1からになっているので、最後の行のIDから取得するように書き換えるだけでOK。
![](https://assets.st-note.com/img/1676801075740-vqm6RJ4B5O.png?width=1200)
second.gsのここを削除しないといけなかった!
ss.getRange(5,1,lastRow,lastCol).clearContent(); //毎回スプレッドシートの値をクリアにする
また、下記もgetOrderInfoSecond()関数内に追記
var l = ss.getLastRow()+1;
![](https://assets.st-note.com/img/1676802040749-ilvY2Xj2Eg.png?width=1200)
さらに、ここもi+lにする必要あり。
![](https://assets.st-note.com/img/1676802091527-KyPc4NJkOr.png?width=1200)
これで完了です
✔︎フルコード
second.gsのフルバージョンのコードを記載しておきます。
【ご購入時のご注意】
解説はしておりません。
コピペ用コードのみの販売になります。
サポート&返金は致しません。
環境により使用できないことはあるかもしれません。
ここから先は
Amazonギフトカード5,000円分が当たる
この記事が気に入ったらチップで応援してみませんか?