IT仕事

VBA-JSONはダメだったがPowerQueryはよかった

投稿日:

オンラインショップの在庫管理目的で、業務システムを動かしているAccessかExcelで、何とかしてWebの商品マスターAPIのデータを取ってきたい。

最初、VBA-JSONというのを使えばいいのかなと思って、一日触ってみた。
いいとこまではいくのだが、名前と階層をいちいち書いていかなくては行けなくて、結構それが面倒で小難しくて、すぐに嫌になった。

次に試してみたのは、Excel2013のアドインのPowerQuery。
結論を先にいうと、うまくいった。
プログラムレスで、JSONをExcelのシート上にテーブル表示できる。
作ったシートはAccessでリンクできた。
試していないけど、Accessのクエリで加工もできそうだ。

途中にぶち当たった問題:

itemなどと表示されていてリンクのついている文字をクリックすることでその階層の表示ができるのだが、欲しい項目を見つけるのに結構苦労するところが一つ。
まあこれは、http://json.parser.online.frのような、JSONをパースして視覚的に表示してくれるツールでもって、あらかじめ自分の欲しい項目がどれなのか、リストアップしておけば問題ないであろう。

CS-CARTのWebAPIは、サーバ環境によってURL文字列が変わる。
「mod_rewritが無効になっている場合は・・・」とマニュアルにあって、自分の環境はまさにそれだと気が付くのに大分時間がかかった。

CS-CARTの商品リストをWebAPIから取ってきたいのが本命だったのだが、何度やっても最大50件までしか取ってきてくれない。
原因はCS-CART側にあることは、少し調べてみてわかったのだが、対応策が見えない。
ユーザーが少ないせいか、WEBに情報が少ない。
試行錯誤して、URLの最後に「limit=100」のように文字を入れてみたら、100件とれた! マニュアルには書いてなかったけど、それでもうまくいくときにはいくものだ。
50件までしか取れなかったURL:https://www.hogehoge.com/api.php?_d=products
100件取れたURL:https://www.hogehoge.com/api.php?_d=products&limit=100

-IT仕事

執筆者:

関連記事

no image

多店舗(複数店舗、マルチドメイン、モールなど言い方ばらばら)対応のOpenSourceカートは、ある?

以下のページを見た。 EC (ショッピングカート) オープンソースでのモール構築について調べた – peketaminの日記 確かに、無償のものは、無い。 150万~200万で販売している …

no image

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

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

no image

自分のサイトに埋め込みしたGoogleマイマップの中心位置カスタマイズは不可

Googleマイマップが新しくなってしばらく経つ。 お客さんのサイトに埋め込んで便利に使わせていただいていたのだが、本日、困ったことを発見した。 地図の中心位置をカスタマイズできない、のだ。 以前のマ …

no image

GWも出勤をしている企業戦士とはオレのことだ

出勤はしていても、「仕事はしない、勉強をする」と決めた今日は、 http://www.moug.net/tech/exvba/ のサイトで学習三昧。今度この手の仕事があるから。 関数関連のテクニックま …

no image

WP Canvas – Shortcodes のテスト

こりゃ便利だ。 Sample Content Sample Content Sample Content Section 1 Sample Content Section 2 Sample Conte …