【GAS】注文情報をスプレッドシートに反映してみる#05 (ShopifyAPI + GoogleAppsScript)
こんにちは。Shopify専門エンジニアのまりん(@crowd37cord)です。
今日はショッピファイの注文情報をスプレッドシートに反映してみます♪
✔️今日のゴール
✔️作成手順
まずは事前準備♪ Shopify APIを取得していない場合は先に発行しておいてくださいね。手順は下記に書いてます。
◆アクセススコープ
Step1 スプレッドシートに項目を追加
今日はShopify注文管理画面から
を取得したいと思います。
上記の項目をスプレッドシートに入力。
シート名は「Order」にしておきます。
Step2 スクリプトエディタを開く
スクリプトのファイル名はなんでもOKです。
私は分かりやすく「orderinfo.gs」という名前で作成してみました。
まずは、定番のAPIを紐付けるコードを書いておきます。
使い回しできるので関数の中に入れずに記載しています。
ここは定番なので毎度コピペでいいと思います。
シート名(getSheetByName())だけ変えるだけかな。
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Order");
var lastRow = ss.getLastRow();
var lastCol = ss.getLastColumn();
var lastID = ss.getRange(lastRow,2).getValue();
var l = ss.getLastRow()+1;
var myAPI = myAPI_(); //「api.gs」で定義した関数
var API_KEY = myAPI.apiKey;
var API_PASSWORD = myAPI.apiPass;
var SHOP_ID = myAPI.shopID;
var API_VERSION = myAPI.apiVer;
var encoded = Utilities.base64Encode(API_KEY + ':' + API_PASSWORD);
var headers = {
"Content-Type" : "application/json",
"Authorization": "Basic " + encoded
};
var options = {
'contentType' : 'application/json',
'method' : 'GET',
'headers' : headers,
'muteHttpExceptions' : true,
'followRedirects' : false,
};
次に注文情報を取得します。
orderのGetを使用します
/admin/api/2022-10/orders.json?status=any
このまま使用するとフルフィルメント完了した注文オーダーが取得できず、未発送の注文しか取得できないので、発送済み&未発送注文両方の値を取得するよる必要があります。
書き方は簡単で、
status=anyのところを
▼発送完了の場合
&status=closed
▼未発送の場合
&status=open
にすれば良いだけ。
Step3 フルバージョンのコードをコピペ
◆コピペ用フルコード
ここから先は
3,362字
/
4画像
この記事が気に入ったらチップで応援してみませんか?