見出し画像

【GAS】注文番号から注文情報取得してスプレッドシートで明細書を作ってみる#17 (Shopify API + GoogleAppsScript)

こんにちは。Shopify専門エンジニアのまりん(@crowd37cord)です。

注文番号から注文情報取得してスプレッドシートでお届け明細書を作ってみます♪ Shopifyには便利な無料アプリがあるのですが、スプレッドシートなら好みのデザインにすることもできるので便利^^


✔︎今回のゴール


商品の明細書ができます!

✔︎作成手順

◆事前準備

下記のStep3までは作成しておく必要あり。

◆スプレッドシートの準備
1)Orderシートとボタンシートを作成しておく。
2)OrderシートのC8にボタンシートのB1の値が反映されるようにする

='ボタン'!B1



Step1  新規スクリプトファイルを作成

拡張機能>App Script>新規ファイル作成

ファイル名はなんでもOK
→order.gsにしてみました

Step2  OrderのAPIで注文情報を取得

OrderのAPIで注文情報を取得。
下記のコードをコピペ。

function requestOrder_() {
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Order');
  var range = ss.getRange("C8").getValue();
  var RANGE = range.replace("#","");
  Logger.log(RANGE);

  var myAPI = myAPI_();
  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,
  };

  var response = UrlFetchApp.fetch(`https://${SHOP_ID}.myshopify.com/admin/api/${API_VERSION}/orders.json?name=${RANGE}`,options);
  
  return JSON.parse(response.getContentText());
}

今回は注文番号で情報を引っ張ってきたいので、下記を/orders.jsonの後ろに追記。{RANGE}の値はOrderシートのC8の注文番号を取得。

?name=${RANGE}

var response = UrlFetchApp.fetch(`https://${SHOP_ID}.myshopify.com/admin/api/${API_VERSION}/orders.json?name=${RANGE}`,options);
 


【ご購入時のご注意】
解説はしておりません。
コピペ用コードのみの販売になります。
サポート&返金は致しません。
環境により使用できないことはあるかもしれません。

ここから先は

7,586字 / 3画像
この記事のみ ¥ 1,200

この記事が気に入ったらサポートをしてみませんか?