IT仕事 Shopify

難解なAPIを使わずにShopifyの注文データをAccessに取り込む

投稿日:2021年10月12日 更新日:

Shopify側

・Matrixfyアプリをインストールする。
・Matrixfyはデモプランでも最大10件ダウンロードできる。スケジュールタスクは何個でも作成できるので、例えば、コンビニ知らはい、銀行振り込み、代引きの3つのタスクを作れば、最大30件を一度にダウンロードできる。
・Matrixfyの設定により、定期的に注文ファイルをアプリ用のWebフォルダに作成してくれる。例えば1時間ごとに生成するようにする。リンクはランダムな英数字混じりになっているために容易に推測されないものになってはいるし、たしかShopifyアプリのディレクトリは外部から検索できないようになっているので、ある程度安全性は高いと思う。
・例えば自分のリンクは「・・・export_order_d.csv?job=69934904&kind=exported」となっているが「?」以降は省いて「・・・export_order_d.csv」とする。こうしておかないと、最新状態が取得できない。

参考:
Shopify(Matrixify)でスケジュール化したJobのキャンセル – Home and Abroad

PowerShell側

・Shopifyのダウンロードリンクを、ファイルとして保存するPowerShellの処理ファイル(例えばGetCsv.ps1)を作る。
・処理ファイルには、Shopify(Matrixify)の定期更新で生成される注文ファイルを、指定フォルダにダウンロードする処理を書く。自分は、社内のファイルサーバのディレクトリを指定した。

参考:
windowsのコマンド(DOS/PowerShell)でファイルをダウンロードする方法について | あいしんくいっと

Access側

・上記で作成したPowerShellファイル「GetCsv.ps1」をAccessのフォームに配置したボタンで呼び出すことで、CSVが最新化されるようにする。
・自分はそのCSVファイルをリンクテーブル化し、他の処理でクエリから呼び出して利用している。

参考:
【VBA】PowerShellファイルを同期実行する | 現場で使える! Excel/VBA実践ガイド

それにしてもすごいぞ、Matrixfy! 最近、Matrixifyが神に見えてきています。

-IT仕事, Shopify

執筆者:

関連記事

no image

住所を自動入力するフォーム

以下のリンクを参考に、郵便番号から都道府県と市町村名を自動入力するフォームを作った、とある企業さんのWebサイトにて。 AjaxZip 2.0 – Ajax郵便番号→住所自動入力フォーム( …

no image

TeamViewer「指定のネットワークアドレスではパートナーに接触できません」

TeamViewerの、リモートする側・される側のバージョンが違うと、リモートコンピュータのパートナーIDを入れて相手に接続しようとした場合に、 「指定のネットワークアドレスではパートナーに接触できま …

no image

モバイルでも見れます

FireFoxに FireMobileSimulator を入れたので、 携帯向けのサイトも作れるようになったかも・・・ってことで、当サイトにWordPress Mobile Editionを入れた …

no image

ExcelVBAで名前から行列指定で取り出すには

名前を定義したセル範囲の、列や行での相対位置でみた、何番セルの値を取り出したい場合に、どのように書ければよいかわからなかったけども、やっとわかった。 Range(“範囲1”). …

no image

会社の人間が使うGISソフトを選定している。

ArcExplorer 9.2 ヘルプが英語。地図ファイルをどうセットアップしていいのか不明。 TNTlite メニューから英語でさっぱり。 カシミール 結構気に入った。ただし、データの重ねあわせがで …